11:04:35.004 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:04:35.004 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:04:35.004 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:04:35.004 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:04:35.004 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:04:35.035 [debug] QUERY OK source="oban_jobs" db=5.2ms decode=0.2ms queue=73.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:04:35.036 [info] Reset 0 executing jobs 11:04:35.036 [info] Creating blank file: /config/extras/cookies.txt 11:04:35.039 [info] Creating blank file: /config/extras/yt-dlp-configs/base-config.txt 11:04:35.042 [info] Creating blank file and making it executable: /config/extras/user-scripts/lifecycle 11:04:35.048 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:04:37.872 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 11:04:37.874 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:04:37.905 [debug] Tzdata polling for update. 11:04:38.417 [info] tzdata release in place is from a file last modified Thu, 16 Jan 2025 17:10:51 GMT. Release file on server was last modified Mon, 02 Mar 2026 15:21:37 GMT. 11:04:38.418 [debug] Tzdata downloading new data from https://data.iana.org/time-zones/tzdata-latest.tar.gz 11:04:38.701 [debug] Tzdata data downloaded. Release version 2026a. 11:04:38.778 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:04:38.787 [debug] QUERY OK source="settings" db=2.2ms queue=2.4ms idle=1855.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:04:38.802 [debug] QUERY OK source="settings" db=6.7ms queue=0.8ms idle=1866.8ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 11:04:38.806 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1875.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:04:38.809 [debug] QUERY OK source="settings" db=1.9ms queue=0.8ms idle=1879.2ms UPDATE "settings" SET "apprise_version" = ? WHERE "id" = ? ["v1.9.4", 1] 11:04:38.812 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:04:38.856 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:04:38.892 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:04:38.901 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:04:38.947 [info] {"args":{},"id":1,"meta":{},"system_time":1775948678945845248,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:04:38.949 [info] Updating yt-dlp 11:04:38.950 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:04:42.236 [info] Tzdata has updated the release from 2025a to 2026a 11:04:42.237 [debug] Tzdata deleting ETS table for version 2025a 11:04:42.249 [debug] Tzdata deleting ETS table file for version 2025a 11:04:47.002 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Current version: stable@2025.09.26 from yt-dlp/yt-dlp Latest version: stable@2026.03.17 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2026.03.17 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2026.03.17 from yt-dlp/yt-dlp 11:04:47.003 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:04:49.891 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:04:49.896 [debug] QUERY OK source="settings" db=3.5ms queue=0.2ms idle=1954.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:04:49.900 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=1960.7ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.03.17", 1] 11:04:49.908 [info] {"args":{},"id":1,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":10955247,"event":"job:stop","attempt":1,"queue_time":924701,"tags":["local_data"]} 11:05:00.868 [info] {"source":"oban","duration":5262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:05:08.892 [info] {"source":"oban","duration":25688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:38.908 [info] {"source":"oban","duration":9676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.880 [info] {"source":"oban","duration":5910,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:06:08.933 [info] {"source":"oban","duration":16023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:38.939 [info] {"source":"oban","duration":2674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.890 [info] {"source":"oban","duration":3330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:07:08.951 [info] {"source":"oban","duration":5509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:38.973 [info] {"source":"oban","duration":16111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:54.756 [info] GET / 11:07:54.762 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:07:54.768 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=856.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:07:54.769 [debug] QUERY OK source="settings" db=0.8ms idle=339.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:07:54.792 [debug] QUERY OK source="media_profiles" db=20.8ms queue=0.6ms idle=342.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 11:07:54.795 [debug] QUERY OK source="sources" db=1.4ms queue=0.4ms idle=364.1ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 11:07:54.801 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=371.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:07:54.803 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=34.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:07:54.854 [info] Sent 200 in 98ms 11:07:57.395 [info] GET /media_profiles/new 11:07:57.398 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 11:07:57.409 [debug] QUERY OK source="settings" db=1.2ms queue=0.4ms idle=977.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:07:57.413 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=981.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:07:57.414 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=982.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:07:57.416 [debug] QUERY OK source="settings" db=0.5ms idle=984.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:07:57.432 [info] Sent 200 in 37ms 11:08:00.901 [info] {"source":"oban","duration":2744,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:08:08.995 [info] {"source":"oban","duration":15244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:39.011 [info] {"source":"oban","duration":10271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.912 [info] {"source":"oban","duration":2059,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:09:09.029 [info] {"source":"oban","duration":14218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:31.928 [info] POST /media_profiles 11:09:31.944 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.create/2 Parameters: %{"_csrf_token" => "QRodNVcpH1wHdBNuDxUkFSo-fiweAhxt0lHDcQe-RBVWidoBmSIzIlZ5", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "false", "download_metadata" => "true", "download_nfo" => "false", "download_source_images" => "false", "download_subs" => "false", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "false", "embed_thumbnail" => "true", "livestream_behaviour" => "include", "media_container" => "", "name" => "Chris", "output_path_template" => "/{{ source_custom_name }}/{{ upload_yyyy_mm_dd }} {{ title }}/{{ title }} [{{ id }}].{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "0", "shorts_behaviour" => "exclude", "sponsorblock_behaviour" => "mark", "sponsorblock_categories" => ["sponsor", "intro", "outro", "selfpromo", "preview", "filler", "interaction", "music_offtopic"], "sub_langs" => "en"}, "media_profile_preset" => "media_center"} Pipelines: [:browser] 11:09:31.955 [debug] QUERY OK source="media_profiles" db=4.6ms queue=0.2ms idle=1357.0ms INSERT INTO "media_profiles" ("name","output_path_template","sponsorblock_categories","sponsorblock_behaviour","download_thumbnail","embed_thumbnail","download_auto_subs","download_subs","embed_subs","sub_langs","preferred_resolution","download_metadata","embed_metadata","download_nfo","download_source_images","livestream_behaviour","redownload_delay_days","shorts_behaviour","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18,?19,?20) RETURNING "id" ["Chris", "/{{ source_custom_name }}/{{ upload_yyyy_mm_dd }} {{ title }}/{{ title }} [{{ id }}].{{ ext }}", ["sponsor", "intro", "outro", "selfpromo", "preview", "filler", "interaction", "music_offtopic"], :mark, true, true, false, false, false, "en", :"1080p", true, true, false, false, :include, 0, :exclude, ~U[2026-04-11 23:09:31Z], ~U[2026-04-11 23:09:31Z]] 11:09:31.958 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=1363.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:09:31.959 [info] Sent 302 in 31ms 11:09:31.979 [info] GET / 11:09:31.979 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "1"} Pipelines: [:browser] 11:09:31.981 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1388.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:09:31.984 [debug] QUERY OK source="media_profiles" db=2.0ms queue=0.2ms idle=1390.0ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 11:09:31.985 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=498.8ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 11:09:31.986 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=32.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:09:31.987 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=29.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:09:31.992 [info] Sent 200 in 13ms 11:09:35.650 [info] GET /sources/new 11:09:35.653 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 11:09:35.665 [debug] QUERY OK source="media_profiles" db=2.3ms queue=3.3ms idle=116.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 11:09:35.671 [debug] QUERY OK source="settings" db=1.8ms queue=0.3ms idle=68.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:09:35.678 [debug] QUERY OK source="settings" db=1.3ms queue=0.3ms idle=76.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:09:35.681 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=78.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:09:35.685 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=83.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:09:35.715 [info] Sent 200 in 65ms 11:09:39.048 [info] {"source":"oban","duration":12870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.923 [info] {"source":"oban","duration":4639,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:10:09.071 [info] {"source":"oban","duration":15470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:39.085 [info] {"source":"oban","duration":10349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:59.036 [info] POST /sources 11:10:59.045 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "FkcFIV0iPEk2dwprMR8eYn4yYT0CWCcOg1PPiZF8cAORWnU59_VkU6aV", "download_cutoff_date_preset" => "", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "H3 Podcast", "download_cutoff_date" => "2026-04-10", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "180", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/@H3Podcast", "output_path_template_override" => "", "retention_period_days" => "0", "title_filter_regex" => ""}} Pipelines: [:browser] 11:10:59.056 [debug] Running yt-dlp command for action: get_source_details 11:10:59.059 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=299.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:10:59.061 [debug] QUERY OK source="settings" db=0.8ms idle=301.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:10:59.062 [debug] QUERY OK source="settings" db=0.5ms idle=302.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:10:59.063 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/61/a1/61a1dcd6f7c61176b3b31deaa44a223d7a7f074075b19fd60a8e2e2037c009dd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:11:00.928 [info] {"source":"oban","duration":1123,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:11:03.730 [info] POST /sources 11:11:03.733 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "FkcFIV0iPEk2dwprMR8eYn4yYT0CWCcOg1PPiZF8cAORWnU59_VkU6aV", "download_cutoff_date_preset" => "", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "H3 Podcast", "download_cutoff_date" => "2026-04-10", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "180", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/@H3Podcast", "output_path_template_override" => "", "retention_period_days" => "0", "title_filter_regex" => ""}} Pipelines: [:browser] 11:11:03.737 [debug] Running yt-dlp command for action: get_source_details 11:11:03.743 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=982.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:03.746 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=984.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:03.748 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=986.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:03.749 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/ae/d1/aed1ae6560809f8d3d19334e7d2d6b05acef89bc6c5e13d23ca233b19eaaaa43.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:11:24.301 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:11:24.302 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:11:24.302 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:11:24.302 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:11:24.302 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:11:24.325 [debug] QUERY OK source="oban_jobs" db=3.7ms decode=0.2ms queue=62.6ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:11:24.326 [info] Reset 0 executing jobs 11:11:24.329 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:11:27.194 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:11:27.195 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:11:27.924 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:11:27.931 [debug] QUERY OK source="settings" db=1.8ms queue=1.1ms idle=1690.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:27.935 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1697.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:27.937 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:11:27.981 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:11:28.013 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:11:28.019 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:11:28.059 [info] {"args":{},"id":2,"meta":{},"system_time":1775949088057548235,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:11:28.061 [info] Updating yt-dlp 11:11:28.061 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:11:31.885 [info] GET / 11:11:31.888 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:11:31.926 [debug] QUERY OK source="settings" db=1.4ms queue=0.2ms idle=1686.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:31.930 [debug] QUERY OK source="settings" db=1.4ms queue=1.2ms idle=918.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:31.937 [debug] QUERY OK source="media_profiles" db=1.6ms queue=2.6ms idle=694.8ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 11:11:31.940 [debug] QUERY OK source="sources" db=0.7ms queue=1.4ms idle=699.8ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 11:11:31.950 [debug] QUERY OK source="settings" db=2.9ms queue=0.2ms idle=707.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:31.954 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=25.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:32.000 [info] Sent 200 in 115ms 11:11:32.151 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:11:32.152 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:11:34.950 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:11:34.953 [debug] QUERY OK source="settings" db=1.8ms queue=0.3ms idle=1712.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:34.961 [info] {"args":{},"id":2,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6897583,"event":"job:stop","queue_time":41948,"attempt":1,"tags":["local_data"]} 11:11:35.431 [info] GET /sources/new 11:11:35.434 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 11:11:35.445 [debug] QUERY OK source="media_profiles" db=2.5ms queue=1.9ms idle=486.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 11:11:35.447 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=485.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:35.451 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=479.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:35.453 [debug] QUERY OK source="settings" db=0.8ms idle=415.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:35.455 [debug] QUERY OK source="settings" db=0.3ms idle=212.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:35.488 [info] Sent 200 in 57ms 11:11:58.000 [info] {"source":"oban","duration":23387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:58.705 [info] POST /sources 11:11:58.720 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "PDViRnopPEQbG3wANT54ZRBZBBoSCAwAMC77NQF5N-99SO32W43LEfJX", "download_cutoff_date_preset" => "", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "H3 Podcast", "download_cutoff_date" => "2026-04-10", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "180", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/@H3Podcast", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 11:11:58.730 [debug] Running yt-dlp command for action: get_source_details 11:11:58.738 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1430.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:58.741 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=1432.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:58.743 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=1327.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:58.746 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/5c/6a/5c6ab48018e7e3d7154d78370fff56e9e6bfe23c7cd1c4824da7d1c78c80f1e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:12:00.977 [info] {"source":"oban","duration":3417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:12:17.304 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/5c/6a/5c6ab48018e7e3d7154d78370fff56e9e6bfe23c7cd1c4824da7d1c78c80f1e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] [jsc] Error solving n challenge request using "deno" provider: Error running deno process (returncode: -9). input = NChallengeInput(player_url='https://www.youtube.com/s/player/8a6e7bc4/player_ias.vflset/en_US/base.js', challenges=['mv8RJr1fNrL-QhB-', 'gRcwkQiRBPFQfB_l']) Please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U WARNING: [youtube] kzq8v4nsrm0: n challenge solving failed: Some formats may be missing. Ensure you have a supported JavaScript runtime and challenge solver script distribution installed. Review any warnings presented before this message. For more details, refer to https://github.com/yt-dlp/yt-dlp/wiki/EJS 11:12:17.339 [debug] QUERY OK source="sources" db=25.2ms queue=0.6ms idle=332.2ms INSERT INTO "sources" ("enabled","uuid","original_url","media_profile_id","custom_name","collection_id","collection_name","collection_type","download_media","fast_index","download_cutoff_date","index_frequency_minutes","cookie_behaviour","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15) RETURNING "id" [true, "c806c8cf-dd43-4fe2-bcb7-6a781c01949f", "https://www.youtube.com/@H3Podcast", 1, "H3 Podcast", "UCLtREJY21xRfCuEKvdki1Kw", "H3 Podcast", :channel, true, false, ~D[2026-04-10], 180, :disabled, ~U[2026-04-11 23:12:17Z], ~U[2026-04-11 23:12:17Z]] 11:12:17.375 [debug] QUERY OK source="tasks" db=28.3ms queue=0.1ms idle=366.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."worker" LIKE ?) AND (o1."state" IN (?,?,?,?)) [1, "%.MediaCollectionIndexingWorker", "available", "scheduled", "retryable", "executing"] 11:12:17.410 [debug] QUERY OK source="tasks" db=23.4ms idle=381.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [3, 1, ~U[2026-04-11 23:12:17Z], ~U[2026-04-11 23:12:17Z]] 11:12:17.418 [debug] QUERY OK source="tasks" db=3.5ms idle=39.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4, 1, ~U[2026-04-11 23:12:17Z], ~U[2026-04-11 23:12:17Z]] 11:12:17.420 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=36.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:17.423 [info] Sent 302 in 18718ms 11:12:17.427 [info] {"args":{"id":1},"id":4,"meta":{},"system_time":1775949137426678850,"max_attempts":3,"queue":"remote_metadata","worker":"Pinchflat.Metadata.SourceMetadataStorageWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","source_metadata","remote_metadata","show_in_dashboard"]} 11:12:17.430 [debug] QUERY OK source="sources" db=0.7ms queue=0.9ms idle=18.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:12:17.436 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.7ms idle=19.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:17.436 [debug] QUERY OK source="source_metadata" db=1.0ms queue=1.3ms idle=16.2ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 11:12:17.441 [debug] Running yt-dlp command for action: get_source_details 11:12:17.445 [debug] QUERY OK source="settings" db=0.9ms queue=0.7ms idle=22.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:17.446 [debug] QUERY OK source="settings" db=0.6ms idle=19.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:17.447 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=16.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:17.448 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/f9/d1/f9d129bea92a55cee52caa861e9c7005710055feff1b2c3030696b3cf1b9822c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:12:17.455 [info] GET / 11:12:17.456 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "1"} Pipelines: [:browser] 11:12:17.458 [debug] QUERY OK source="settings" db=1.4ms idle=20.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:17.461 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=22.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 11:12:17.463 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=16.9ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 11:12:17.466 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=17.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:17.468 [debug] QUERY OK source="settings" db=1.2ms idle=19.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:17.472 [info] Sent 200 in 16ms 11:12:18.031 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949138030349441,"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"]} 11:12:18.035 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=569.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:12:18.037 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=569.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:18.052 [debug] QUERY OK source="media_items" db=2.7ms queue=5.9ms idle=575.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")))) [1] 11:12:18.057 [debug] QUERY OK source="media_items" db=1.7ms queue=1.2ms idle=35.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:12:18.060 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.1ms idle=28.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:18.064 [debug] QUERY OK source="settings" db=0.6ms queue=0.6ms idle=27.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:18.066 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=27.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:18.071 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:12:18.074 [debug] Current batch of media processed. Will check again in 1000ms 11:12:18.076 [debug] QUERY OK source="settings" db=4.0ms queue=1.2ms idle=18.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:18.078 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=19.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:18.081 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=18.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:18.082 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/49/f4/49f437e6069ad695d6525f40c41029d61710c68c3199f028dc0be31231e7f697.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:12:19.075 [debug] Current batch of media processed. Will check again in 1000ms 11:12:20.076 [debug] Current batch of media processed. Will check again in 1000ms 11:12:21.077 [debug] Current batch of media processed. Will check again in 1000ms 11:12:22.078 [debug] Current batch of media processed. Will check again in 1000ms 11:12:22.865 [info] GET / 11:12:22.865 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "0"} Pipelines: [:browser] 11:12:22.869 [debug] QUERY OK source="settings" db=0.7ms queue=1.2ms idle=882.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:22.873 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=886.2ms UPDATE "settings" SET "onboarding" = ? WHERE "id" = ? [false, 1] 11:12:22.876 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=889.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:22.880 [debug] QUERY OK source="media_profiles" db=0.3ms queue=2.3ms idle=892.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:12:22.881 [debug] QUERY OK source="sources" db=0.8ms queue=0.4ms idle=829.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:12:22.883 [debug] QUERY OK source="media_items" db=0.6ms queue=0.9ms idle=13.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:12:22.885 [debug] QUERY OK source="media_items" db=0.2ms queue=0.7ms idle=10.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:12:22.887 [debug] QUERY OK source="settings" db=0.3ms queue=1.0ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:22.888 [debug] QUERY OK source="settings" db=0.6ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:22.891 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 11:12:22.901 [debug] QUERY OK source="tasks" db=4.3ms idle=12.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:12:22.904 [debug] QUERY OK source="sources" db=0.7ms queue=0.5ms idle=18.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:12:22.914 [debug] QUERY OK source="media_items" db=0.2ms queue=0.3ms idle=26.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:12:22.916 [debug] QUERY OK source="media_items" db=0.8ms queue=0.6ms idle=26.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:12:22.920 [debug] QUERY OK source="media_items" db=0.5ms queue=0.6ms idle=27.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:12:22.923 [debug] QUERY OK source="media_items" db=1.3ms queue=0.8ms idle=19.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:12:22.925 [info] Sent 200 in 60ms 11:12:23.079 [debug] Current batch of media processed. Will check again in 1000ms 11:12:23.114 [info] CONNECTED TO Phoenix.LiveView.Socket in 1ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ORRmMn49Qh46fBFQV0kzYhA9fzwGLTI6Hb3CJE8ooJTi18x5WPHjQCtb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:12:23.154 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:12:23.156 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=240.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:12:23.158 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=239.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:12:23.158 [debug] Replied in 4ms 11:12:23.162 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:12:23.164 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=243.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:12:23.166 [debug] QUERY OK source="media_items" db=1.9ms idle=241.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:12:23.166 [debug] Replied in 4ms 11:12:23.168 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:12:23.170 [debug] QUERY OK source="tasks" db=0.9ms idle=113.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:12:23.171 [debug] QUERY OK source="sources" db=0.4ms idle=14.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:12:23.171 [debug] Replied in 3ms 11:12:23.175 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:12:23.175 [debug] Replied in 252µs 11:12:24.081 [debug] Current batch of media processed. Will check again in 1000ms 11:12:25.082 [debug] Current batch of media processed. Will check again in 1000ms 11:12:37.829 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:12:37.830 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:12:37.830 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:12:37.830 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:12:37.830 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:12:37.859 [debug] QUERY OK source="oban_jobs" db=8.7ms decode=0.2ms queue=61.2ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:12:37.860 [info] Reset 2 executing jobs 11:12:37.863 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:12:40.562 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:12:40.563 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:12:41.335 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:12:41.344 [debug] QUERY OK source="settings" db=2.6ms queue=1.2ms idle=1572.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:41.351 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=1582.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:41.352 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:12:41.398 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:12:41.429 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:12:41.435 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:12:41.476 [info] {"args":{},"id":5,"meta":{},"system_time":1775949161474502366,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:12:41.478 [info] Updating yt-dlp 11:12:41.478 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:12:42.423 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949162422021008,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:12:42.427 [info] {"args":{"id":1},"id":4,"meta":{},"system_time":1775949162427123861,"max_attempts":3,"queue":"remote_metadata","worker":"Pinchflat.Metadata.SourceMetadataStorageWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","source_metadata","remote_metadata","show_in_dashboard"]} 11:12:42.431 [debug] QUERY OK source="sources" db=4.4ms queue=0.7ms idle=954.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:12:42.434 [debug] QUERY OK source="sources" db=3.7ms queue=2.4ms idle=660.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:12:42.444 [debug] QUERY OK source="settings" db=4.8ms queue=1.4ms 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 [] 11:12:42.452 [debug] QUERY OK source="media_profiles" db=6.9ms queue=1.1ms idle=17.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:42.453 [debug] QUERY OK source="source_metadata" db=9.1ms queue=1.5ms idle=21.9ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 11:12:42.468 [debug] Running yt-dlp command for action: get_source_details 11:12:42.473 [debug] QUERY OK source="media_items" db=1.4ms queue=10.2ms idle=29.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")))) [1] 11:12:42.478 [debug] QUERY OK source="media_items" db=4.1ms queue=0.5ms idle=39.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:12:42.481 [debug] QUERY OK source="settings" db=1.1ms idle=32.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:42.482 [debug] QUERY OK source="media_profiles" db=3.4ms queue=0.1ms idle=34.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:42.485 [debug] QUERY OK source="settings" db=3.9ms idle=27.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:42.488 [debug] QUERY OK source="settings" db=4.2ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:42.491 [debug] QUERY OK source="settings" db=5.7ms queue=0.1ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:42.496 [debug] QUERY OK source="settings" db=5.0ms queue=2.2ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:42.498 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/d4/af/d4af42d391ddcf5a5c1a7c38a0c3f2c6efe55c65bf07d0b4e030ff17ea7da0c9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:12:42.506 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:12:42.511 [debug] Current batch of media processed. Will check again in 1000ms 11:12:42.512 [debug] QUERY OK source="settings" db=6.1ms queue=0.2ms idle=23.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:42.516 [debug] QUERY OK source="settings" db=2.0ms queue=1.3ms idle=27.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:42.519 [debug] QUERY OK source="settings" db=1.8ms queue=0.4ms idle=28.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:42.520 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/0e/64/0e648b82bda842baf58c7b0457d392a5763c511c9ddac2ac0aace0e702f583c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:12:42.849 [info] CONNECTED TO Phoenix.LiveView.Socket in 3ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ORRmMn49Qh46fBFQV0kzYhA9fzwGLTI6Hb3CJE8ooJTi18x5WPHjQCtb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:12:42.892 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:12:42.899 [debug] QUERY OK source="media_items" db=4.2ms queue=1.2ms idle=402.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:12:42.905 [debug] QUERY OK source="media_items" db=1.7ms queue=2.8ms idle=404.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:12:42.906 [debug] Replied in 16ms 11:12:42.921 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:12:42.925 [debug] QUERY OK source="media_items" db=0.5ms queue=0.9ms idle=410.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:12:42.935 [debug] QUERY OK source="media_items" db=5.7ms queue=3.5ms idle=409.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:12:42.935 [debug] Replied in 14ms 11:12:42.939 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:12:42.952 [debug] QUERY OK source="tasks" db=9.4ms queue=0.1ms idle=423.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:12:42.962 [debug] QUERY OK source="sources" db=0.3ms queue=3.9ms idle=57.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:12:42.963 [debug] Replied in 24ms 11:12:42.985 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:12:42.985 [debug] Replied in 538µs 11:12:43.009 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:12:43.012 [debug] Replied in 4ms 11:12:43.513 [debug] Current batch of media processed. Will check again in 1000ms 11:12:44.516 [debug] Current batch of media processed. Will check again in 1000ms 11:12:45.517 [debug] Current batch of media processed. Will check again in 1000ms 11:12:46.491 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:12:46.492 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:12:46.518 [debug] Current batch of media processed. Will check again in 1000ms 11:12:47.520 [debug] Current batch of media processed. Will check again in 1000ms 11:12:48.521 [debug] Current batch of media processed. Will check again in 1000ms 11:12:49.524 [debug] Current batch of media processed. Will check again in 1000ms 11:12:50.287 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:12:50.290 [debug] QUERY OK source="settings" db=1.8ms queue=0.5ms idle=1515.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:50.303 [info] {"args":{},"id":5,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8816932,"event":"job:stop","queue_time":458037,"attempt":1,"tags":["local_data"]} 11:12:50.315 [debug] QUERY OK source="tasks" db=5.9ms queue=0.1ms idle=1536.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:12:50.322 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=842.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:12:50.528 [debug] Current batch of media processed. Will check again in 1000ms 11:12:51.539 [debug] Current batch of media processed. Will check again in 1000ms 11:12:52.541 [debug] Current batch of media processed. Will check again in 1000ms 11:13:05.310 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:05.310 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:05.311 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:05.311 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:05.313 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:05.345 [debug] QUERY OK source="oban_jobs" db=10.1ms decode=0.2ms queue=61.9ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:13:05.346 [info] Reset 2 executing jobs 11:13:05.349 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:13:08.173 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:13:08.175 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:13:08.934 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:13:08.941 [debug] QUERY OK source="settings" db=1.2ms queue=1.1ms idle=1674.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:08.946 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1680.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:08.948 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:13:08.986 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:13:09.019 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:13:09.026 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:13:09.068 [info] {"args":{},"id":6,"meta":{},"system_time":1775949189066417247,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:13:09.070 [info] Updating yt-dlp 11:13:09.070 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:13:10.021 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949190021478239,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:13:10.030 [info] {"args":{"id":1},"id":4,"meta":{},"system_time":1775949190030157232,"max_attempts":3,"queue":"remote_metadata","worker":"Pinchflat.Metadata.SourceMetadataStorageWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","source_metadata","remote_metadata","show_in_dashboard"]} 11:13:10.035 [debug] QUERY OK source="sources" db=5.4ms queue=1.6ms idle=965.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:13:10.042 [debug] QUERY OK source="sources" db=7.2ms queue=3.8ms idle=767.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:13:10.048 [debug] QUERY OK source="settings" db=6.1ms queue=1.4ms idle=32.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:10.068 [debug] QUERY OK source="media_profiles" db=4.3ms queue=2.3ms idle=27.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:13:10.072 [debug] QUERY OK source="source_metadata" db=11.3ms queue=0.6ms idle=23.5ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 11:13:10.081 [debug] QUERY OK source="media_items" db=9.9ms queue=15.1ms idle=35.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")))) [1] 11:13:10.081 [debug] Running yt-dlp command for action: get_source_details 11:13:10.088 [debug] QUERY OK source="media_items" db=3.1ms queue=0.9ms idle=41.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:13:10.092 [debug] QUERY OK source="media_profiles" db=3.4ms queue=0.3ms idle=41.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:13:10.099 [debug] QUERY OK source="settings" db=1.2ms queue=1.5ms idle=32.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:10.100 [debug] QUERY OK source="settings" db=2.3ms queue=1.1ms idle=25.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:10.103 [debug] QUERY OK source="settings" db=1.4ms queue=1.0ms idle=12.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:10.105 [debug] QUERY OK source="settings" db=2.9ms queue=1.4ms idle=19.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:10.105 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=11.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:10.113 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/07/bc/07bc86f9d892cdadb16b9807bfd22c77054e8667bc3c43fadaf69269a89703ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:13:10.113 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:13:10.115 [debug] Current batch of media processed. Will check again in 1000ms 11:13:10.117 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=15.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:10.119 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=18.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:10.120 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=15.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:10.122 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/66/50/665015d351f6376e2461372720ae80c681a7e27e8d9fc54ca8290d98e1173a0c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:13:11.118 [debug] Current batch of media processed. Will check again in 1000ms 11:13:11.281 [info] CONNECTED TO Phoenix.LiveView.Socket in 6ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ORRmMn49Qh46fBFQV0kzYhA9fzwGLTI6Hb3CJE8ooJTi18x5WPHjQCtb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "1", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:13:11.342 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:13:11.352 [debug] QUERY OK source="media_items" db=3.7ms queue=3.2ms idle=322.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:13:11.358 [debug] QUERY OK source="media_items" db=2.1ms queue=2.7ms idle=74.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:13:11.358 [debug] Replied in 18ms 11:13:11.379 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:13:11.388 [debug] QUERY OK source="media_items" db=1.3ms queue=5.0ms idle=103.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:13:11.399 [debug] QUERY OK source="media_items" db=6.2ms queue=2.3ms idle=112.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:13:11.399 [debug] Replied in 20ms 11:13:11.404 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:13:11.418 [debug] QUERY OK source="tasks" db=8.7ms queue=0.8ms idle=128.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:13:11.424 [debug] QUERY OK source="sources" db=0.6ms queue=2.3ms idle=69.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:13:11.425 [debug] Replied in 20ms 11:13:11.455 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:13:11.455 [debug] Replied in 409µs 11:13:11.475 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:13:11.478 [debug] Replied in 3ms 11:13:12.119 [debug] Current batch of media processed. Will check again in 1000ms 11:13:13.124 [debug] Current batch of media processed. Will check again in 1000ms 11:13:14.125 [debug] Current batch of media processed. Will check again in 1000ms 11:13:14.880 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:13:14.881 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:13:15.128 [debug] Current batch of media processed. Will check again in 1000ms 11:13:16.130 [debug] Current batch of media processed. Will check again in 1000ms 11:13:17.131 [debug] Current batch of media processed. Will check again in 1000ms 11:13:17.870 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:13:17.875 [debug] QUERY OK source="settings" db=2.9ms queue=0.2ms idle=793.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:17.884 [info] {"args":{},"id":6,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8809914,"event":"job:stop","queue_time":48873,"attempt":1,"tags":["local_data"]} 11:13:17.895 [debug] QUERY OK source="tasks" db=7.0ms queue=1.8ms idle=608.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:13:17.899 [debug] QUERY OK source="sources" db=3.2ms idle=618.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:13:18.132 [debug] Current batch of media processed. Will check again in 1000ms 11:13:19.139 [debug] Current batch of media processed. Will check again in 1000ms 11:13:31.054 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:31.056 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:31.056 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:31.056 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:31.056 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:13:31.088 [debug] QUERY OK source="oban_jobs" db=9.1ms decode=0.2ms queue=66.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:13:31.089 [info] Reset 2 executing jobs 11:13:31.091 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:13:33.699 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:13:33.700 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:13:34.458 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:13:34.467 [debug] QUERY OK source="settings" db=2.2ms queue=1.4ms idle=1471.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:34.471 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1479.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:34.473 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:13:34.514 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:13:34.541 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:13:34.547 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:13:34.589 [info] {"args":{},"id":7,"meta":{},"system_time":1775949214586764613,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:13:34.591 [info] Updating yt-dlp 11:13:34.592 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:13:35.539 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949215538773534,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:13:35.545 [debug] QUERY OK source="sources" db=1.5ms queue=0.9ms idle=960.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:13:35.552 [debug] QUERY OK source="settings" db=0.8ms queue=0.4ms idle=560.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:35.567 [debug] QUERY OK source="media_items" db=1.2ms queue=6.4ms idle=33.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")))) [1] 11:13:35.572 [debug] QUERY OK source="media_items" db=1.4ms queue=1.2ms idle=31.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:13:35.578 [debug] QUERY OK source="media_profiles" db=1.0ms queue=1.3ms idle=31.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:13:35.587 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=40.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:35.589 [debug] QUERY OK source="settings" db=0.9ms queue=0.7ms idle=35.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:35.598 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:13:35.603 [debug] Current batch of media processed. Will check again in 1000ms 11:13:35.605 [debug] QUERY OK source="settings" db=6.6ms queue=0.1ms idle=30.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:35.607 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=33.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:35.609 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms 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 [] 11:13:35.613 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/01/99/0199978c829ada01e48cbd0e4cca5f6e5fdd17b4f4f859d27f77c35ecff8a57b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:13:36.604 [debug] Current batch of media processed. Will check again in 1000ms 11:13:37.277 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ORRmMn49Qh46fBFQV0kzYhA9fzwGLTI6Hb3CJE8ooJTi18x5WPHjQCtb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "2", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:13:37.319 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:13:37.327 [debug] QUERY OK source="media_items" db=0.5ms queue=2.6ms idle=782.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:13:37.337 [debug] QUERY OK source="media_items" db=5.2ms queue=3.7ms idle=778.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:13:37.338 [debug] Replied in 19ms 11:13:37.351 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:13:37.357 [debug] QUERY OK source="media_items" db=0.6ms queue=1.8ms idle=364.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:13:37.366 [debug] QUERY OK source="media_items" db=5.6ms queue=2.7ms idle=367.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:13:37.367 [debug] Replied in 15ms 11:13:37.371 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:13:37.382 [debug] QUERY OK source="tasks" db=5.9ms queue=0.1ms idle=385.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:13:37.389 [debug] QUERY OK source="sources" db=3.5ms queue=1.4ms idle=57.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:13:37.390 [debug] Replied in 19ms 11:13:37.418 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:13:37.418 [debug] Replied in 428µs 11:13:37.439 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:13:37.440 [debug] Replied in 1ms 11:13:37.605 [debug] Current batch of media processed. Will check again in 1000ms 11:13:38.607 [debug] Current batch of media processed. Will check again in 1000ms 11:13:39.053 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:13:39.054 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:13:39.608 [debug] Current batch of media processed. Will check again in 1000ms 11:13:40.610 [debug] Current batch of media processed. Will check again in 1000ms 11:13:41.611 [debug] Current batch of media processed. Will check again in 1000ms 11:13:41.819 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:13:41.821 [debug] QUERY OK source="settings" db=1.3ms queue=0.3ms idle=1230.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:41.826 [info] {"args":{},"id":7,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":7235775,"event":"job:stop","attempt":1,"queue_time":567337,"tags":["local_data"]} 11:13:41.832 [debug] QUERY OK source="tasks" db=3.3ms queue=0.3ms idle=833.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:13:41.835 [debug] QUERY OK source="sources" db=2.0ms queue=0.4ms idle=241.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:13:42.614 [debug] Current batch of media processed. Will check again in 1000ms 11:13:43.615 [debug] Current batch of media processed. Will check again in 1000ms 11:13:44.617 [debug] Current batch of media processed. Will check again in 1000ms 11:13:45.619 [debug] Current batch of media processed. Will check again in 1000ms 11:13:46.628 [debug] Current batch of media processed. Will check again in 1000ms 11:13:47.631 [debug] Current batch of media processed. Will check again in 1000ms 11:13:48.632 [debug] Current batch of media processed. Will check again in 1000ms 11:13:49.634 [debug] Current batch of media processed. Will check again in 1000ms 11:13:50.635 [debug] Current batch of media processed. Will check again in 1000ms 11:13:51.637 [debug] Current batch of media processed. Will check again in 1000ms 11:13:52.640 [debug] Current batch of media processed. Will check again in 1000ms 11:13:53.642 [debug] Current batch of media processed. Will check again in 1000ms 11:13:54.643 [debug] Current batch of media processed. Will check again in 1000ms 11:13:55.647 [debug] Current batch of media processed. Will check again in 1000ms 11:13:56.649 [debug] Current batch of media processed. Will check again in 1000ms 11:13:57.658 [debug] Current batch of media processed. Will check again in 1000ms 11:13:58.659 [debug] Current batch of media processed. Will check again in 1000ms 11:13:59.760 [debug] Current batch of media processed. Will check again in 1000ms 11:14:00.515 [info] {"source":"oban","duration":5107,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:14:00.767 [debug] Current batch of media processed. Will check again in 1000ms 11:14:01.780 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:14:01.786 [debug] QUERY OK source="sources" db=2.8ms queue=0.3ms idle=1267.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:01.798 [debug] QUERY OK source="sources" db=2.7ms queue=0.2ms idle=959.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:01.804 [debug] QUERY OK source="media_items" db=2.0ms queue=1.4ms idle=954.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 23:31:06Z], 1] 11:14:01.856 [debug] QUERY OK source="media_items" db=46.8ms queue=0.1ms idle=761.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "38ff084e-60e9-440e-9cbd-c58e4cca8a82", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, false, 1, [], 99, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:14:01Z], ~U[2026-04-11 23:14:01Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:14:01.863 [debug] QUERY OK source="sources" db=2.5ms queue=1.0ms idle=60.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:01.874 [debug] QUERY OK source="media_profiles" db=4.3ms queue=0.4ms idle=65.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:01.885 [debug] QUERY OK source="media_items" db=5.1ms queue=1.3ms idle=32.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 [1] 11:14:01.887 [debug] Current batch of media processed. Will check again in 1000ms 11:14:02.893 [debug] Current batch of media processed. Will check again in 1000ms 11:14:03.897 [debug] Current batch of media processed. Will check again in 1000ms 11:14:04.519 [info] {"source":"oban","duration":10922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:04.899 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:14:04.901 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1030.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:04.904 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1022.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:04.906 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=385.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 18:01:18Z], 1] 11:14:04.915 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=26.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "3f1c0610-65d9-4fde-9a08-0b87b82d68b3", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, false, 1, [], 99, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:14:04Z], ~U[2026-04-11 23:14:04Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:14:04.917 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=20.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:04.919 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=16.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:04.921 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=15.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2] 11:14:04.921 [debug] Current batch of media processed. Will check again in 1000ms 11:14:05.928 [debug] Current batch of media processed. Will check again in 1000ms 11:14:06.932 [debug] Current batch of media processed. Will check again in 1000ms 11:14:07.939 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:14:07.942 [debug] QUERY OK source="sources" db=1.6ms queue=0.4ms idle=1885.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:07.945 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=1045.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:07.947 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1039.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-08 19:28:30Z], 1] 11:14:07.956 [debug] QUERY OK source="media_items" db=7.1ms queue=0.1ms idle=32.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "bf343139-e73b-4c37-9ccf-517079485908", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, false, 1, [], 99, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:14:07Z], ~U[2026-04-11 23:14:07Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, 1, ~U[2025-11-08 19:28:30Z]] 11:14:07.958 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=31.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:07.960 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=16.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:07.962 [debug] QUERY OK source="media_items" db=1.0ms idle=15.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 [3] 11:14:07.963 [debug] Current batch of media processed. Will check again in 1000ms 11:14:08.971 [debug] Current batch of media processed. Will check again in 1000ms 11:14:10.011 [debug] Current batch of media processed. Will check again in 1000ms 11:14:11.015 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1854, "filename" => "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", "id" => "WQNO2GuY-vc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WQNO2GuY-vc", "playlist_index" => 4, "timestamp" => 1762470131, "title" => "Hasan's TikTok Reposts Are Insane", "upload_date" => "20251106"} 11:14:11.019 [debug] QUERY OK source="sources" db=1.9ms queue=0.3ms idle=1947.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:11.024 [debug] QUERY OK source="sources" db=1.7ms queue=0.2ms idle=1087.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:11.029 [debug] QUERY OK source="media_items" db=1.4ms queue=0.3ms idle=1019.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-06 23:02:11Z], 1] 11:14:11.042 [debug] QUERY OK source="media_items" db=10.9ms queue=0.1ms idle=80.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "c25a0e9b-41e6-4022-9f1a-2025a8e99741", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", 4, "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, false, false, 1, [], 99, ~U[2025-11-06 23:02:11Z], ~U[2026-04-11 23:14:11Z], ~U[2026-04-11 23:14:11Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, 1, ~U[2025-11-06 23:02:11Z]] 11:14:11.045 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=85.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:11.048 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.2ms idle=26.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:11.050 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=24.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 11:14:11.050 [debug] Current batch of media processed. Will check again in 1000ms 11:14:12.051 [debug] Current batch of media processed. Will check again in 1000ms 11:14:13.055 [debug] Current batch of media processed. Will check again in 1000ms 11:14:14.061 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2938, "filename" => "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", "id" => "4GTO6MDxvyU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4GTO6MDxvyU", "playlist_index" => 5, "timestamp" => 1761942164, "title" => "Ghost Hunting In ‘The Queen Mary’ At 3AM", "upload_date" => "20251031"} 11:14:14.065 [debug] QUERY OK source="sources" db=1.7ms queue=0.2ms idle=1982.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:14.070 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=1090.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:14.075 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=1084.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 20:22:44Z], 1] 11:14:14.085 [debug] QUERY OK source="media_items" db=8.8ms idle=92.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ghost Hunting In ‘The Queen Mary’ At 3AM", "f971fbab-a52b-413e-b68a-e1f864fb3c7e", 2938, false, "4GTO6MDxvyU", "https://www.youtube.com/watch?v=4GTO6MDxvyU", 5, "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", false, false, false, 1, [], 99, ~U[2025-10-31 20:22:44Z], ~U[2026-04-11 23:14:14Z], ~U[2026-04-11 23:14:14Z], "H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ghost Hunting In ‘The Queen Mary’ At 3AM", 2938, false, "4GTO6MDxvyU", "https://www.youtube.com/watch?v=4GTO6MDxvyU", "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", false, 1, ~U[2025-10-31 20:22:44Z]] 11:14:14.089 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=93.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:14.092 [debug] QUERY OK source="media_profiles" db=2.4ms queue=0.1ms idle=24.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:14.095 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=22.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 [5] 11:14:14.096 [debug] Current batch of media processed. Will check again in 1000ms 11:14:15.097 [debug] Current batch of media processed. Will check again in 1000ms 11:14:16.098 [debug] Current batch of media processed. Will check again in 1000ms 11:14:17.103 [debug] Current batch of media processed. Will check again in 1000ms 11:14:18.106 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3269, "filename" => "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", "id" => "kK1JBB6QCMk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kK1JBB6QCMk", "playlist_index" => 6, "timestamp" => 1761782857, "title" => "twitch has completely lost their minds for this", "upload_date" => "20251030"} 11:14:18.108 [debug] QUERY OK source="sources" db=0.6ms queue=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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:18.110 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=79.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:18.112 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=11.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 00:07:37Z], 1] 11:14:18.120 [debug] QUERY OK source="media_items" db=6.3ms idle=13.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "twitch has completely lost their minds for this", "9b510df9-087f-4da0-b3b8-94a2278b640f", 3269, false, "kK1JBB6QCMk", "https://www.youtube.com/watch?v=kK1JBB6QCMk", 6, "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", false, false, false, 1, [], 99, ~U[2025-10-30 00:07:37Z], ~U[2026-04-11 23:14:18Z], ~U[2026-04-11 23:14:18Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "twitch has completely lost their minds for this", 3269, false, "kK1JBB6QCMk", "https://www.youtube.com/watch?v=kK1JBB6QCMk", "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", false, 1, ~U[2025-10-30 00:07:37Z]] 11:14:18.122 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms 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" = ?) [1] 11:14:18.124 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=14.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:18.127 [debug] QUERY OK source="media_items" db=2.2ms idle=14.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 [6] 11:14:18.127 [debug] Current batch of media processed. Will check again in 1000ms 11:14:19.134 [debug] Current batch of media processed. Will check again in 1000ms 11:14:20.172 [debug] Current batch of media processed. Will check again in 1000ms 11:14:21.179 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2270, "filename" => "/downloads/H3 Podcast/2025-10-23 The Reason Hasan Fans Are Attacking QT & Ludwig/The Reason Hasan Fans Are Attacking QT & Ludwig [ZJAa-u2dKY4].mp4", "id" => "ZJAa-u2dKY4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZJAa-u2dKY4", "playlist_index" => 7, "timestamp" => 1761262096, "title" => "The Reason Hasan Fans Are Attacking QT & Ludwig", "upload_date" => "20251023"} 11:14:21.181 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=1009.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:21.185 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=1012.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:21.188 [debug] QUERY OK source="media_items" db=0.7ms queue=0.8ms idle=1015.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 23:28:16Z], 1] 11:14:21.196 [debug] QUERY OK source="media_items" db=6.5ms queue=0.1ms idle=135.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Reason Hasan Fans Are Attacking QT & Ludwig", "331396df-445b-42e0-adc4-0aa1350c52b5", 2270, false, "ZJAa-u2dKY4", "https://www.youtube.com/watch?v=ZJAa-u2dKY4", 7, "/downloads/H3 Podcast/2025-10-23 The Reason Hasan Fans Are Attacking QT & Ludwig/The Reason Hasan Fans Are Attacking QT & Ludwig [ZJAa-u2dKY4].mp4", false, false, false, 1, [], 99, ~U[2025-10-23 23:28:16Z], ~U[2026-04-11 23:14:21Z], ~U[2026-04-11 23:14:21Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Reason Hasan Fans Are Attacking QT & Ludwig", 2270, false, "ZJAa-u2dKY4", "https://www.youtube.com/watch?v=ZJAa-u2dKY4", "/downloads/H3 Podcast/2025-10-23 The Reason Hasan Fans Are Attacking QT & Ludwig/The Reason Hasan Fans Are Attacking QT & Ludwig [ZJAa-u2dKY4].mp4", false, 1, ~U[2025-10-23 23:28:16Z]] 11:14:21.199 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=135.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:21.200 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=17.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:21.203 [debug] QUERY OK source="media_items" db=1.9ms idle=15.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 [7] 11:14:21.203 [debug] Current batch of media processed. Will check again in 1000ms 11:14:22.206 [debug] Current batch of media processed. Will check again in 1000ms 11:14:23.225 [debug] Current batch of media processed. Will check again in 1000ms 11:14:24.347 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2432, "filename" => "/downloads/H3 Podcast/2025-10-23 The Hasan Collar Situation Keeps Getting\u00A0Worse/The Hasan Collar Situation Keeps Getting\u00A0Worse [P-Jd6C91nP0].mp4", "id" => "P-Jd6C91nP0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=P-Jd6C91nP0", "playlist_index" => 8, "timestamp" => 1761241384, "title" => "The Hasan Collar Situation Keeps Getting\u00A0Worse", "upload_date" => "20251023"} 11:14:24.350 [debug] QUERY OK source="sources" db=1.4ms queue=0.3ms idle=1165.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:24.355 [debug] QUERY OK source="sources" db=2.2ms queue=0.4ms idle=1169.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:24.359 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=1173.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 17:43:04Z], 1] 11:14:24.373 [debug] QUERY OK source="media_items" db=10.0ms queue=0.2ms idle=266.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Hasan Collar Situation Keeps Getting\u00A0Worse", "1c0556d1-1374-4942-adef-0ce1c1da22c1", 2432, false, "P-Jd6C91nP0", "https://www.youtube.com/watch?v=P-Jd6C91nP0", 8, "/downloads/H3 Podcast/2025-10-23 The Hasan Collar Situation Keeps Getting\u00A0Worse/The Hasan Collar Situation Keeps Getting\u00A0Worse [P-Jd6C91nP0].mp4", false, false, false, 1, [], 98, ~U[2025-10-23 17:43:04Z], ~U[2026-04-11 23:14:24Z], ~U[2026-04-11 23:14:24Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Hasan Collar Situation Keeps Getting\u00A0Worse", 2432, false, "P-Jd6C91nP0", "https://www.youtube.com/watch?v=P-Jd6C91nP0", "/downloads/H3 Podcast/2025-10-23 The Hasan Collar Situation Keeps Getting\u00A0Worse/The Hasan Collar Situation Keeps Getting\u00A0Worse [P-Jd6C91nP0].mp4", false, 1, ~U[2025-10-23 17:43:04Z]] 11:14:24.376 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=271.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:24.378 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=26.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:24.381 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=23.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 [8] 11:14:24.381 [debug] Current batch of media processed. Will check again in 1000ms 11:14:25.384 [debug] Current batch of media processed. Will check again in 1000ms 11:14:26.385 [debug] Current batch of media processed. Will check again in 1000ms 11:14:27.394 [debug] Current batch of media processed. Will check again in 1000ms 11:14:28.400 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3557, "filename" => "/downloads/H3 Podcast/2025-10-16 They Are Ruining Their Reputations\u00A0For\u00A0Hasan/They Are Ruining Their Reputations\u00A0For\u00A0Hasan [ONKg1_NJQmc].mp4", "id" => "ONKg1_NJQmc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ONKg1_NJQmc", "playlist_index" => 9, "timestamp" => 1760645795, "title" => "They Are Ruining Their Reputations\u00A0For\u00A0Hasan", "upload_date" => "20251016"} 11:14:28.404 [debug] QUERY OK source="sources" db=2.0ms queue=0.6ms idle=246.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:28.413 [debug] QUERY OK source="sources" db=4.3ms queue=1.0ms idle=239.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:28.417 [debug] QUERY OK source="media_items" db=1.5ms queue=0.7ms idle=210.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 20:16:35Z], 1] 11:14:28.427 [debug] QUERY OK source="media_items" db=7.4ms queue=0.2ms idle=214.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "They Are Ruining Their Reputations\u00A0For\u00A0Hasan", "b088fd5a-d9ca-461c-8fca-7654098baff1", 3557, false, "ONKg1_NJQmc", "https://www.youtube.com/watch?v=ONKg1_NJQmc", 9, "/downloads/H3 Podcast/2025-10-16 They Are Ruining Their Reputations\u00A0For\u00A0Hasan/They Are Ruining Their Reputations\u00A0For\u00A0Hasan [ONKg1_NJQmc].mp4", false, false, false, 1, [], 99, ~U[2025-10-16 20:16:35Z], ~U[2026-04-11 23:14:28Z], ~U[2026-04-11 23:14:28Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "They Are Ruining Their Reputations\u00A0For\u00A0Hasan", 3557, false, "ONKg1_NJQmc", "https://www.youtube.com/watch?v=ONKg1_NJQmc", "/downloads/H3 Podcast/2025-10-16 They Are Ruining Their Reputations\u00A0For\u00A0Hasan/They Are Ruining Their Reputations\u00A0For\u00A0Hasan [ONKg1_NJQmc].mp4", false, 1, ~U[2025-10-16 20:16:35Z]] 11:14:28.429 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=223.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:28.431 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=26.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:28.433 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=19.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9] 11:14:28.434 [debug] Current batch of media processed. Will check again in 1000ms 11:14:29.435 [debug] Current batch of media processed. Will check again in 1000ms 11:14:30.440 [debug] Current batch of media processed. Will check again in 1000ms 11:14:31.454 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Tickets For Sal's Tour:\nhttps://salvulcanocomedy.com/\n\nSal On Instagram: https://www.instagram.com/salvulcano/\n\nCheck out Sal’s comedy special “Terrified” on HBO Max\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6023, "filename" => "/downloads/H3 Podcast/2025-10-11 Reddit Stories w⧸ Sal Vulcano/Reddit Stories w⧸ Sal Vulcano [Ysnp5EzrMM0].mp4", "id" => "Ysnp5EzrMM0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ysnp5EzrMM0", "playlist_index" => 10, "timestamp" => 1760204076, "title" => "Reddit Stories w/ Sal Vulcano", "upload_date" => "20251011"} 11:14:31.461 [debug] QUERY OK source="sources" db=2.6ms queue=0.7ms idle=1251.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:31.468 [debug] QUERY OK source="sources" db=2.6ms queue=0.4ms idle=1259.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:31.472 [debug] QUERY OK source="media_items" db=1.8ms queue=0.3ms idle=1263.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-11 17:34:36Z], 1] 11:14:31.483 [debug] QUERY OK source="media_items" db=8.6ms idle=274.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get Tickets For Sal's Tour:\nhttps://salvulcanocomedy.com/\n\nSal On Instagram: https://www.instagram.com/salvulcano/\n\nCheck out Sal’s comedy special “Terrified” on HBO Max\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Reddit Stories w/ Sal Vulcano", "43fdfdec-8859-4499-8a73-e0ba551217b2", 6023, false, "Ysnp5EzrMM0", "https://www.youtube.com/watch?v=Ysnp5EzrMM0", 10, "/downloads/H3 Podcast/2025-10-11 Reddit Stories w⧸ Sal Vulcano/Reddit Stories w⧸ Sal Vulcano [Ysnp5EzrMM0].mp4", false, false, false, 1, [], 99, ~U[2025-10-11 17:34:36Z], ~U[2026-04-11 23:14:31Z], ~U[2026-04-11 23:14:31Z], "Get Tickets For Sal's Tour:\nhttps://salvulcanocomedy.com/\n\nSal On Instagram: https://www.instagram.com/salvulcano/\n\nCheck out Sal’s comedy special “Terrified” on HBO Max\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Reddit Stories w/ Sal Vulcano", 6023, false, "Ysnp5EzrMM0", "https://www.youtube.com/watch?v=Ysnp5EzrMM0", "/downloads/H3 Podcast/2025-10-11 Reddit Stories w⧸ Sal Vulcano/Reddit Stories w⧸ Sal Vulcano [Ysnp5EzrMM0].mp4", false, 1, ~U[2025-10-11 17:34:36Z]] 11:14:31.485 [debug] QUERY OK source="sources" db=1.6ms queue=0.2ms idle=274.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:31.487 [debug] QUERY OK source="media_profiles" db=1.2ms idle=25.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:31.490 [debug] QUERY OK source="media_items" db=1.4ms idle=20.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 11:14:31.490 [debug] Current batch of media processed. Will check again in 1000ms 11:14:32.491 [debug] Current batch of media processed. Will check again in 1000ms 11:14:33.497 [debug] Current batch of media processed. Will check again in 1000ms 11:14:34.508 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Featuring... \u2068@RichLux713\u2069 \nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2076, "filename" => "/downloads/H3 Podcast/2025-10-02 Trying to Explain Labubus to the Elderly (Ft.\u00A0Rich\u00A0Lux)/Trying to Explain Labubus to the Elderly (Ft.\u00A0Rich\u00A0Lux) [aCRID-b6w4Q].mp4", "id" => "aCRID-b6w4Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aCRID-b6w4Q", "playlist_index" => 11, "timestamp" => 1759427825, "title" => "Trying to Explain Labubus to the Elderly (Ft.\u00A0Rich\u00A0Lux)", "upload_date" => "20251002"} 11:14:34.516 [debug] QUERY OK source="sources" db=3.8ms queue=1.4ms idle=1303.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:34.530 [debug] QUERY OK source="sources" db=6.8ms queue=1.4ms idle=1301.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:34.531 [info] {"source":"oban","duration":8990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:34.537 [debug] QUERY OK source="media_items" db=5.5ms queue=1.0ms idle=304.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 17:57:05Z], 1] 11:14:34.547 [debug] QUERY OK source="media_items" db=6.8ms queue=0.2ms idle=303.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Featuring... \u2068@RichLux713\u2069 \nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Trying to Explain Labubus to the Elderly (Ft.\u00A0Rich\u00A0Lux)", "ed4ce6ad-805d-480a-9d57-727b986a20c7", 2076, false, "aCRID-b6w4Q", "https://www.youtube.com/watch?v=aCRID-b6w4Q", 11, "/downloads/H3 Podcast/2025-10-02 Trying to Explain Labubus to the Elderly (Ft.\u00A0Rich\u00A0Lux)/Trying to Explain Labubus to the Elderly (Ft.\u00A0Rich\u00A0Lux) [aCRID-b6w4Q].mp4", false, false, false, 1, [], 99, ~U[2025-10-02 17:57:05Z], ~U[2026-04-11 23:14:34Z], ~U[2026-04-11 23:14:34Z], "Featuring... \u2068@RichLux713\u2069 \nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Trying to Explain Labubus to the Elderly (Ft.\u00A0Rich\u00A0Lux)", 2076, false, "aCRID-b6w4Q", "https://www.youtube.com/watch?v=aCRID-b6w4Q", "/downloads/H3 Podcast/2025-10-02 Trying to Explain Labubus to the Elderly (Ft.\u00A0Rich\u00A0Lux)/Trying to Explain Labubus to the Elderly (Ft.\u00A0Rich\u00A0Lux) [aCRID-b6w4Q].mp4", false, 1, ~U[2025-10-02 17:57:05Z]] 11:14:34.549 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=31.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:34.551 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=19.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:34.554 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=20.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 [11] 11:14:34.554 [debug] Current batch of media processed. Will check again in 1000ms 11:14:35.564 [debug] Current batch of media processed. Will check again in 1000ms 11:14:36.565 [debug] Current batch of media processed. Will check again in 1000ms 11:14:37.577 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1087, "filename" => "/downloads/H3 Podcast/2025-09-30 Cooking But You Can’t Use Your Hands/Cooking But You Can’t Use Your Hands [o2UWl9FbBe8].mp4", "id" => "o2UWl9FbBe8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o2UWl9FbBe8", "playlist_index" => 12, "timestamp" => 1759266239, "title" => "Cooking But You Can’t Use Your Hands", "upload_date" => "20250930"} 11:14:37.582 [debug] QUERY OK source="sources" db=3.2ms queue=0.2ms idle=1361.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:37.586 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=1338.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:37.590 [debug] QUERY OK source="media_items" db=2.0ms queue=0.2ms idle=1332.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-30 21:03:59Z], 1] 11:14:37.601 [debug] QUERY OK source="media_items" db=9.0ms queue=0.1ms idle=336.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Cooking But You Can’t Use Your Hands", "9f5100de-074d-4911-993e-f52da3503f73", 1087, false, "o2UWl9FbBe8", "https://www.youtube.com/watch?v=o2UWl9FbBe8", 12, "/downloads/H3 Podcast/2025-09-30 Cooking But You Can’t Use Your Hands/Cooking But You Can’t Use Your Hands [o2UWl9FbBe8].mp4", false, false, false, 1, [], 99, ~U[2025-09-30 21:03:59Z], ~U[2026-04-11 23:14:37Z], ~U[2026-04-11 23:14:37Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Cooking But You Can’t Use Your Hands", 1087, false, "o2UWl9FbBe8", "https://www.youtube.com/watch?v=o2UWl9FbBe8", "/downloads/H3 Podcast/2025-09-30 Cooking But You Can’t Use Your Hands/Cooking But You Can’t Use Your Hands [o2UWl9FbBe8].mp4", false, 1, ~U[2025-09-30 21:03:59Z]] 11:14:37.603 [debug] QUERY OK source="sources" db=1.3ms queue=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:37.606 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.1ms idle=21.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:37.609 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=20.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12] 11:14:37.609 [debug] Current batch of media processed. Will check again in 1000ms 11:14:38.614 [debug] Current batch of media processed. Will check again in 1000ms 11:14:39.624 [debug] Current batch of media processed. Will check again in 1000ms 11:14:40.627 [debug] Current batch of media processed. Will check again in 1000ms 11:14:41.633 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2751, "filename" => "/downloads/H3 Podcast/2025-09-28 Checking in on Trisha\u00A0Paytas & Moses/Checking in on Trisha\u00A0Paytas & Moses [YeS1VfOtWUs].mp4", "id" => "YeS1VfOtWUs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YeS1VfOtWUs", "playlist_index" => 13, "timestamp" => 1759078853, "title" => "Checking in on Trisha\u00A0Paytas & Moses", "upload_date" => "20250928"} 11:14:41.637 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=409.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:41.639 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=413.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:41.642 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=414.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-28 17:00:53Z], 1] 11:14:41.648 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=328.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Checking in on Trisha\u00A0Paytas & Moses", "ef31292a-a0b0-4973-be66-800ddc97db63", 2751, false, "YeS1VfOtWUs", "https://www.youtube.com/watch?v=YeS1VfOtWUs", 13, "/downloads/H3 Podcast/2025-09-28 Checking in on Trisha\u00A0Paytas & Moses/Checking in on Trisha\u00A0Paytas & Moses [YeS1VfOtWUs].mp4", false, false, false, 1, [], 99, ~U[2025-09-28 17:00:53Z], ~U[2026-04-11 23:14:41Z], ~U[2026-04-11 23:14:41Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Checking in on Trisha\u00A0Paytas & Moses", 2751, false, "YeS1VfOtWUs", "https://www.youtube.com/watch?v=YeS1VfOtWUs", "/downloads/H3 Podcast/2025-09-28 Checking in on Trisha\u00A0Paytas & Moses/Checking in on Trisha\u00A0Paytas & Moses [YeS1VfOtWUs].mp4", false, 1, ~U[2025-09-28 17:00:53Z]] 11:14:41.650 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=324.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:41.652 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=14.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:41.655 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=14.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13] 11:14:41.655 [debug] Current batch of media processed. Will check again in 1000ms 11:14:42.665 [debug] Current batch of media processed. Will check again in 1000ms 11:14:43.666 [debug] Current batch of media processed. Will check again in 1000ms 11:14:44.670 [debug] Current batch of media processed. Will check again in 1000ms 11:14:45.683 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3473, "filename" => "/downloads/H3 Podcast/2025-09-27 Reacting To Nail-Biting Reddit Stories With Rich Lux/Reacting To Nail-Biting Reddit Stories With Rich Lux [o7yCtQF_9jI].mp4", "id" => "o7yCtQF_9jI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o7yCtQF_9jI", "playlist_index" => 14, "timestamp" => 1758993160, "title" => "Reacting To Nail-Biting Reddit Stories With Rich Lux", "upload_date" => "20250927"} 11:14:45.704 [debug] QUERY OK source="sources" db=9.8ms queue=1.7ms idle=461.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:45.718 [debug] QUERY OK source="sources" db=5.6ms decode=0.1ms queue=0.6ms idle=481.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:45.726 [debug] QUERY OK source="media_items" db=4.4ms queue=1.0ms idle=489.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-27 17:12:40Z], 1] 11:14:45.742 [debug] QUERY OK source="media_items" db=13.3ms queue=0.1ms idle=343.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Reacting To Nail-Biting Reddit Stories With Rich Lux", "4a9e688b-d593-4ecc-ba41-fe85cfc47736", 3473, false, "o7yCtQF_9jI", "https://www.youtube.com/watch?v=o7yCtQF_9jI", 14, "/downloads/H3 Podcast/2025-09-27 Reacting To Nail-Biting Reddit Stories With Rich Lux/Reacting To Nail-Biting Reddit Stories With Rich Lux [o7yCtQF_9jI].mp4", false, false, false, 1, [], 99, ~U[2025-09-27 17:12:40Z], ~U[2026-04-11 23:14:45Z], ~U[2026-04-11 23:14:45Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Reacting To Nail-Biting Reddit Stories With Rich Lux", 3473, false, "o7yCtQF_9jI", "https://www.youtube.com/watch?v=o7yCtQF_9jI", "/downloads/H3 Podcast/2025-09-27 Reacting To Nail-Biting Reddit Stories With Rich Lux/Reacting To Nail-Biting Reddit Stories With Rich Lux [o7yCtQF_9jI].mp4", false, 1, ~U[2025-09-27 17:12:40Z]] 11:14:45.745 [debug] QUERY OK source="sources" db=1.4ms queue=0.6ms idle=347.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:45.748 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.3ms idle=43.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:45.752 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=31.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 [14] 11:14:45.753 [debug] Current batch of media processed. Will check again in 1000ms 11:14:46.760 [debug] Current batch of media processed. Will check again in 1000ms 11:14:47.762 [debug] Current batch of media processed. Will check again in 1000ms 11:14:48.767 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1077, "filename" => "/downloads/H3 Podcast/2025-09-25 Twitch Caught Recruiting Nazis In Leaked Email/Twitch Caught Recruiting Nazis In Leaked Email [RsP_jdfLyHs].mp4", "id" => "RsP_jdfLyHs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RsP_jdfLyHs", "playlist_index" => 15, "timestamp" => 1758838013, "title" => "Twitch Caught Recruiting Nazis In Leaked Email", "upload_date" => "20250925"} 11:14:48.787 [debug] QUERY OK source="sources" db=10.5ms queue=1.3ms idle=1364.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:48.793 [debug] QUERY OK source="sources" db=2.2ms queue=0.7ms idle=1368.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:48.797 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=562.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-25 22:06:53Z], 1] 11:14:48.806 [debug] QUERY OK source="media_items" db=7.4ms queue=0.1ms idle=376.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Twitch Caught Recruiting Nazis In Leaked Email", "643eb611-d608-4134-b409-12f5c8a510ed", 1077, false, "RsP_jdfLyHs", "https://www.youtube.com/watch?v=RsP_jdfLyHs", 15, "/downloads/H3 Podcast/2025-09-25 Twitch Caught Recruiting Nazis In Leaked Email/Twitch Caught Recruiting Nazis In Leaked Email [RsP_jdfLyHs].mp4", false, false, false, 1, [], 99, ~U[2025-09-25 22:06:53Z], ~U[2026-04-11 23:14:48Z], ~U[2026-04-11 23:14:48Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Twitch Caught Recruiting Nazis In Leaked Email", 1077, false, "RsP_jdfLyHs", "https://www.youtube.com/watch?v=RsP_jdfLyHs", "/downloads/H3 Podcast/2025-09-25 Twitch Caught Recruiting Nazis In Leaked Email/Twitch Caught Recruiting Nazis In Leaked Email [RsP_jdfLyHs].mp4", false, 1, ~U[2025-09-25 22:06:53Z]] 11:14:48.809 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=375.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:48.812 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.1ms idle=23.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:48.814 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=19.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 [15] 11:14:48.815 [debug] Current batch of media processed. Will check again in 1000ms 11:14:49.825 [debug] Current batch of media processed. Will check again in 1000ms 11:14:50.828 [debug] Current batch of media processed. Will check again in 1000ms 11:14:51.831 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7059, "filename" => "/downloads/H3 Podcast/2025-09-18 The Most Insane Internet Drama in a While Ft.\u00A0Faze\u00A0Clan/The Most Insane Internet Drama in a While Ft.\u00A0Faze\u00A0Clan [F8kLpYxqedU].mp4", "id" => "F8kLpYxqedU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=F8kLpYxqedU", "playlist_index" => 16, "timestamp" => 1758215063, "title" => "The Most Insane Internet Drama in a While Ft.\u00A0Faze\u00A0Clan", "upload_date" => "20250918"} 11:14:51.834 [debug] QUERY OK source="sources" db=1.0ms queue=0.3ms idle=1590.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:51.837 [debug] QUERY OK source="sources" db=1.7ms queue=0.3ms idle=1401.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:51.840 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=1393.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-18 17:04:23Z], 1] 11:14:51.866 [debug] QUERY OK source="media_items" db=24.0ms queue=0.1ms idle=396.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Most Insane Internet Drama in a While Ft.\u00A0Faze\u00A0Clan", "03594f18-3175-4375-b1a5-834158f6e6d7", 7059, false, "F8kLpYxqedU", "https://www.youtube.com/watch?v=F8kLpYxqedU", 16, "/downloads/H3 Podcast/2025-09-18 The Most Insane Internet Drama in a While Ft.\u00A0Faze\u00A0Clan/The Most Insane Internet Drama in a While Ft.\u00A0Faze\u00A0Clan [F8kLpYxqedU].mp4", false, false, false, 1, [], 99, ~U[2025-09-18 17:04:23Z], ~U[2026-04-11 23:14:51Z], ~U[2026-04-11 23:14:51Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Most Insane Internet Drama in a While Ft.\u00A0Faze\u00A0Clan", 7059, false, "F8kLpYxqedU", "https://www.youtube.com/watch?v=F8kLpYxqedU", "/downloads/H3 Podcast/2025-09-18 The Most Insane Internet Drama in a While Ft.\u00A0Faze\u00A0Clan/The Most Insane Internet Drama in a While Ft.\u00A0Faze\u00A0Clan [F8kLpYxqedU].mp4", false, 1, ~U[2025-09-18 17:04:23Z]] 11:14:51.868 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=411.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:51.869 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=35.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:51.872 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=32.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 [16] 11:14:51.872 [debug] Current batch of media processed. Will check again in 1000ms 11:14:52.873 [debug] Current batch of media processed. Will check again in 1000ms 11:14:53.876 [debug] Current batch of media processed. Will check again in 1000ms 11:14:54.877 [debug] Current batch of media processed. Will check again in 1000ms 11:14:55.880 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dylan Burns: https://linktr.ee/dylanburnstv\n\nTEDDY FRESH...http://teddyfresh.com\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3692, "filename" => "/downloads/H3 Podcast/2025-09-14 Russia Has Kidnaped 20,000 Ukrainian Children, Where Are They? (Dylan Burns Interview)/Russia Has Kidnaped 20,000 Ukrainian Children, Where Are They? (Dylan Burns Interview) [MDdV6L-WBJU].mp4", "id" => "MDdV6L-WBJU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MDdV6L-WBJU", "playlist_index" => 17, "timestamp" => 1757869578, "title" => "Russia Has Kidnaped 20,000 Ukrainian Children, Where Are They? (Dylan Burns Interview)", "upload_date" => "20250914"} 11:14:55.884 [debug] QUERY OK source="sources" db=3.0ms queue=0.3ms idle=606.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:55.889 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=611.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:55.894 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=614.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-14 17:06:18Z], 1] 11:14:55.905 [debug] QUERY OK source="media_items" db=8.8ms queue=0.1ms idle=402.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dylan Burns: https://linktr.ee/dylanburnstv\n\nTEDDY FRESH...http://teddyfresh.com\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Russia Has Kidnaped 20,000 Ukrainian Children, Where Are They? (Dylan Burns Interview)", "e9997d02-9ff5-4f59-a302-9adf1572b048", 3692, false, "MDdV6L-WBJU", "https://www.youtube.com/watch?v=MDdV6L-WBJU", 17, "/downloads/H3 Podcast/2025-09-14 Russia Has Kidnaped 20,000 Ukrainian Children, Where Are They? (Dylan Burns Interview)/Russia Has Kidnaped 20,000 Ukrainian Children, Where Are They? (Dylan Burns Interview) [MDdV6L-WBJU].mp4", false, false, false, 1, [], 99, ~U[2025-09-14 17:06:18Z], ~U[2026-04-11 23:14:55Z], ~U[2026-04-11 23:14:55Z], "Dylan Burns: https://linktr.ee/dylanburnstv\n\nTEDDY FRESH...http://teddyfresh.com\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Russia Has Kidnaped 20,000 Ukrainian Children, Where Are They? (Dylan Burns Interview)", 3692, false, "MDdV6L-WBJU", "https://www.youtube.com/watch?v=MDdV6L-WBJU", "/downloads/H3 Podcast/2025-09-14 Russia Has Kidnaped 20,000 Ukrainian Children, Where Are They? (Dylan Burns Interview)/Russia Has Kidnaped 20,000 Ukrainian Children, Where Are They? (Dylan Burns Interview) [MDdV6L-WBJU].mp4", false, 1, ~U[2025-09-14 17:06:18Z]] 11:14:55.908 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:55.912 [debug] QUERY OK source="media_profiles" db=3.0ms queue=0.2ms idle=25.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:55.917 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=24.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17] 11:14:55.918 [debug] Current batch of media processed. Will check again in 1000ms 11:14:56.924 [debug] Current batch of media processed. Will check again in 1000ms 11:14:57.930 [debug] Current batch of media processed. Will check again in 1000ms 11:14:58.938 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3139, "filename" => "/downloads/H3 Podcast/2025-09-13 “I stole her dog and refuse to return it.” Reacting to Reddit Stories/“I stole her dog and refuse to return it.” Reacting to Reddit Stories [v2fRTxSTg8Q].mp4", "id" => "v2fRTxSTg8Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=v2fRTxSTg8Q", "playlist_index" => 18, "timestamp" => 1757782875, "title" => "“I stole her dog and refuse to return it.” Reacting to Reddit Stories", "upload_date" => "20250913"} 11:14:58.947 [debug] QUERY OK source="sources" db=4.2ms queue=1.1ms idle=1661.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:14:58.957 [debug] QUERY OK source="sources" db=3.8ms queue=1.1ms idle=1443.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:14:58.963 [debug] QUERY OK source="media_items" db=3.7ms queue=0.5ms idle=1440.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-13 17:01:15Z], 1] 11:14:58.982 [debug] QUERY OK source="media_items" db=15.4ms queue=0.1ms idle=425.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "“I stole her dog and refuse to return it.” Reacting to Reddit Stories", "56934776-09ea-412d-9e9f-d9e3b08de101", 3139, false, "v2fRTxSTg8Q", "https://www.youtube.com/watch?v=v2fRTxSTg8Q", 18, "/downloads/H3 Podcast/2025-09-13 “I stole her dog and refuse to return it.” Reacting to Reddit Stories/“I stole her dog and refuse to return it.” Reacting to Reddit Stories [v2fRTxSTg8Q].mp4", false, false, false, 1, [], 99, ~U[2025-09-13 17:01:15Z], ~U[2026-04-11 23:14:58Z], ~U[2026-04-11 23:14:58Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "“I stole her dog and refuse to return it.” Reacting to Reddit Stories", 3139, false, "v2fRTxSTg8Q", "https://www.youtube.com/watch?v=v2fRTxSTg8Q", "/downloads/H3 Podcast/2025-09-13 “I stole her dog and refuse to return it.” Reacting to Reddit Stories/“I stole her dog and refuse to return it.” Reacting to Reddit Stories [v2fRTxSTg8Q].mp4", false, 1, ~U[2025-09-13 17:01:15Z]] 11:14:58.984 [debug] QUERY OK source="sources" db=1.5ms queue=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" = ?) [1] 11:14:58.987 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.1ms idle=38.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:58.990 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=31.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 [18] 11:14:58.990 [debug] Current batch of media processed. Will check again in 1000ms 11:14:59.991 [debug] Current batch of media processed. Will check again in 1000ms 11:15:00.644 [info] {"source":"oban","duration":114117,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:15:00.994 [debug] Current batch of media processed. Will check again in 1000ms 11:15:01.997 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Alexa Nikolas: @eatpredators \nThe Lawsuit: https://www.courtlistener.com/docket/71279427/1/nikolas-v-tenbarge/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6561, "filename" => "/downloads/H3 Podcast/2025-09-11 Alexa Nikolas\u00A0Tells All: “Adam McIntyre Tried to Ruin\u00A0My\u00A0life.” Exclusive Interview/Alexa Nikolas\u00A0Tells All: “Adam McIntyre Tried to Ruin\u00A0My\u00A0life.” Exclusive Interview [gsaZJ1R9514].mp4", "id" => "gsaZJ1R9514", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gsaZJ1R9514", "playlist_index" => 19, "timestamp" => 1757610204, "title" => "Alexa Nikolas\u00A0Tells All: “Adam McIntyre Tried to Ruin\u00A0My\u00A0life.” Exclusive Interview", "upload_date" => "20250911"} 11:15:02.000 [debug] QUERY OK source="sources" db=1.2ms queue=0.4ms idle=1354.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:02.003 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=1349.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:02.007 [debug] QUERY OK source="media_items" db=3.5ms queue=0.2ms idle=1339.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 17:03:24Z], 1] 11:15:02.018 [debug] QUERY OK source="media_items" db=8.2ms queue=0.1ms idle=351.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Alexa Nikolas: @eatpredators \nThe Lawsuit: https://www.courtlistener.com/docket/71279427/1/nikolas-v-tenbarge/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Alexa Nikolas\u00A0Tells All: “Adam McIntyre Tried to Ruin\u00A0My\u00A0life.” Exclusive Interview", "2ace8ef3-6f18-4546-9e32-d7a5499dec15", 6561, false, "gsaZJ1R9514", "https://www.youtube.com/watch?v=gsaZJ1R9514", 19, "/downloads/H3 Podcast/2025-09-11 Alexa Nikolas\u00A0Tells All: “Adam McIntyre Tried to Ruin\u00A0My\u00A0life.” Exclusive Interview/Alexa Nikolas\u00A0Tells All: “Adam McIntyre Tried to Ruin\u00A0My\u00A0life.” Exclusive Interview [gsaZJ1R9514].mp4", false, false, false, 1, [], 99, ~U[2025-09-11 17:03:24Z], ~U[2026-04-11 23:15:02Z], ~U[2026-04-11 23:15:02Z], "Alexa Nikolas: @eatpredators \nThe Lawsuit: https://www.courtlistener.com/docket/71279427/1/nikolas-v-tenbarge/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Alexa Nikolas\u00A0Tells All: “Adam McIntyre Tried to Ruin\u00A0My\u00A0life.” Exclusive Interview", 6561, false, "gsaZJ1R9514", "https://www.youtube.com/watch?v=gsaZJ1R9514", "/downloads/H3 Podcast/2025-09-11 Alexa Nikolas\u00A0Tells All: “Adam McIntyre Tried to Ruin\u00A0My\u00A0life.” Exclusive Interview/Alexa Nikolas\u00A0Tells All: “Adam McIntyre Tried to Ruin\u00A0My\u00A0life.” Exclusive Interview [gsaZJ1R9514].mp4", false, 1, ~U[2025-09-11 17:03:24Z]] 11:15:02.020 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=352.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:02.022 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=21.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:02.025 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=20.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 [19] 11:15:02.026 [debug] Current batch of media processed. Will check again in 1000ms 11:15:03.028 [debug] Current batch of media processed. Will check again in 1000ms 11:15:04.034 [debug] Current batch of media processed. Will check again in 1000ms 11:15:04.542 [info] {"source":"oban","duration":4972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:05.036 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2647, "filename" => "/downloads/H3 Podcast/2025-09-09 He Abandoned His Wife & Kids For An AI Girlfriend/He Abandoned His Wife & Kids For An AI Girlfriend [e8BosAbh1UQ].mp4", "id" => "e8BosAbh1UQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=e8BosAbh1UQ", "playlist_index" => 20, "timestamp" => 1757437935, "title" => "He Abandoned His Wife & Kids For An AI Girlfriend", "upload_date" => "20250909"} 11:15:05.039 [debug] QUERY OK source="sources" db=1.4ms queue=0.3ms idle=1365.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:05.042 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1359.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:05.046 [debug] QUERY OK source="media_items" db=2.5ms queue=0.8ms idle=500.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-09 17:12:15Z], 1] 11:15:05.057 [debug] QUERY OK source="media_items" db=8.0ms queue=0.1ms idle=366.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "He Abandoned His Wife & Kids For An AI Girlfriend", "77ce30ca-a3ec-4e35-bdbe-bfb593ba7a44", 2647, false, "e8BosAbh1UQ", "https://www.youtube.com/watch?v=e8BosAbh1UQ", 20, "/downloads/H3 Podcast/2025-09-09 He Abandoned His Wife & Kids For An AI Girlfriend/He Abandoned His Wife & Kids For An AI Girlfriend [e8BosAbh1UQ].mp4", false, false, false, 1, [], 99, ~U[2025-09-09 17:12:15Z], ~U[2026-04-11 23:15:05Z], ~U[2026-04-11 23:15:05Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "He Abandoned His Wife & Kids For An AI Girlfriend", 2647, false, "e8BosAbh1UQ", "https://www.youtube.com/watch?v=e8BosAbh1UQ", "/downloads/H3 Podcast/2025-09-09 He Abandoned His Wife & Kids For An AI Girlfriend/He Abandoned His Wife & Kids For An AI Girlfriend [e8BosAbh1UQ].mp4", false, 1, ~U[2025-09-09 17:12:15Z]] 11:15:05.059 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=366.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:05.061 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.7ms idle=20.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:05.064 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=19.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20] 11:15:05.064 [debug] Current batch of media processed. Will check again in 1000ms 11:15:06.066 [debug] Current batch of media processed. Will check again in 1000ms 11:15:07.068 [debug] Current batch of media processed. Will check again in 1000ms 11:15:08.079 [debug] Current batch of media processed. Will check again in 1000ms 11:15:09.092 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Harley's YouTube:\nhttps://www.youtube.com/@HarleyMorenstein\nHarley's IG: https://www.instagram.com/HarleyPlays\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n0:00 Intro\n4:45 I Helped My Friends Dog With Her \"Scooting\"\n15:20 I Ate Too Much At a Party\n38:56 I Fell In Love With My Best Friend\n51:57 VR Is Better Than Real Relationships\n1:16:20 Outro!", "duration" => 4675, "filename" => "/downloads/H3 Podcast/2025-09-06 Reacting To Hilarious Reddit Stories w⧸ Harley Morenstein/Reacting To Hilarious Reddit Stories w⧸ Harley Morenstein [2jBXzIHXoz8].mp4", "id" => "2jBXzIHXoz8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2jBXzIHXoz8", "playlist_index" => 21, "timestamp" => 1757178151, "title" => "Reacting To Hilarious Reddit Stories w/ Harley Morenstein", "upload_date" => "20250906"} 11:15:09.097 [debug] QUERY OK source="sources" db=1.9ms queue=0.3ms idle=754.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:09.107 [debug] QUERY OK source="sources" db=7.0ms queue=0.6ms idle=759.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:09.116 [debug] QUERY OK source="media_items" db=6.3ms queue=0.6ms idle=769.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-06 17:02:31Z], 1] 11:15:09.126 [debug] QUERY OK source="media_items" db=7.5ms queue=0.1ms idle=363.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Harley's YouTube:\nhttps://www.youtube.com/@HarleyMorenstein\nHarley's IG: https://www.instagram.com/HarleyPlays\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n0:00 Intro\n4:45 I Helped My Friends Dog With Her \"Scooting\"\n15:20 I Ate Too Much At a Party\n38:56 I Fell In Love With My Best Friend\n51:57 VR Is Better Than Real Relationships\n1:16:20 Outro!", "Reacting To Hilarious Reddit Stories w/ Harley Morenstein", "d7623338-1141-49d8-aa72-81c0fa523195", 4675, false, "2jBXzIHXoz8", "https://www.youtube.com/watch?v=2jBXzIHXoz8", 21, "/downloads/H3 Podcast/2025-09-06 Reacting To Hilarious Reddit Stories w⧸ Harley Morenstein/Reacting To Hilarious Reddit Stories w⧸ Harley Morenstein [2jBXzIHXoz8].mp4", false, false, false, 1, [], 99, ~U[2025-09-06 17:02:31Z], ~U[2026-04-11 23:15:09Z], ~U[2026-04-11 23:15:09Z], "Harley's YouTube:\nhttps://www.youtube.com/@HarleyMorenstein\nHarley's IG: https://www.instagram.com/HarleyPlays\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n0:00 Intro\n4:45 I Helped My Friends Dog With Her \"Scooting\"\n15:20 I Ate Too Much At a Party\n38:56 I Fell In Love With My Best Friend\n51:57 VR Is Better Than Real Relationships\n1:16:20 Outro!", "Reacting To Hilarious Reddit Stories w/ Harley Morenstein", 4675, false, "2jBXzIHXoz8", "https://www.youtube.com/watch?v=2jBXzIHXoz8", "/downloads/H3 Podcast/2025-09-06 Reacting To Hilarious Reddit Stories w⧸ Harley Morenstein/Reacting To Hilarious Reddit Stories w⧸ Harley Morenstein [2jBXzIHXoz8].mp4", false, 1, ~U[2025-09-06 17:02:31Z]] 11:15:09.130 [debug] QUERY OK source="sources" db=2.8ms queue=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" = ?) [1] 11:15:09.133 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=33.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:09.137 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=26.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 [21] 11:15:09.138 [debug] Current batch of media processed. Will check again in 1000ms 11:15:10.139 [debug] Current batch of media processed. Will check again in 1000ms 11:15:11.143 [debug] Current batch of media processed. Will check again in 1000ms 11:15:12.153 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Hutch: https://www.youtube.com/@hutch\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1823, "filename" => "/downloads/H3 Podcast/2025-09-05 Hasan Piker Has Hit A New Low (Doxxing Controversy)/Hasan Piker Has Hit A New Low (Doxxing Controversy) [jKzuVq1Ky8I].mp4", "id" => "jKzuVq1Ky8I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jKzuVq1Ky8I", "playlist_index" => 22, "timestamp" => 1757031911, "title" => "Hasan Piker Has Hit A New Low (Doxxing Controversy)", "upload_date" => "20250905"} 11:15:12.160 [debug] QUERY OK source="sources" db=4.0ms queue=0.8ms idle=1804.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:12.170 [debug] QUERY OK source="sources" db=3.1ms queue=0.8ms idle=1391.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:12.176 [debug] QUERY OK source="media_items" db=4.1ms queue=0.8ms idle=1386.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-05 00:25:11Z], 1] 11:15:12.184 [debug] QUERY OK source="media_items" db=6.4ms queue=0.1ms idle=373.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Hutch: https://www.youtube.com/@hutch\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Piker Has Hit A New Low (Doxxing Controversy)", "78c81be5-bfe8-4a0d-b593-c3c188ba6794", 1823, false, "jKzuVq1Ky8I", "https://www.youtube.com/watch?v=jKzuVq1Ky8I", 22, "/downloads/H3 Podcast/2025-09-05 Hasan Piker Has Hit A New Low (Doxxing Controversy)/Hasan Piker Has Hit A New Low (Doxxing Controversy) [jKzuVq1Ky8I].mp4", false, false, false, 1, [], 99, ~U[2025-09-05 00:25:11Z], ~U[2026-04-11 23:15:12Z], ~U[2026-04-11 23:15:12Z], "Hutch: https://www.youtube.com/@hutch\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Piker Has Hit A New Low (Doxxing Controversy)", 1823, false, "jKzuVq1Ky8I", "https://www.youtube.com/watch?v=jKzuVq1Ky8I", "/downloads/H3 Podcast/2025-09-05 Hasan Piker Has Hit A New Low (Doxxing Controversy)/Hasan Piker Has Hit A New Low (Doxxing Controversy) [jKzuVq1Ky8I].mp4", false, 1, ~U[2025-09-05 00:25:11Z]] 11:15:12.186 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=364.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:12.188 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.4ms idle=27.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:12.191 [debug] QUERY OK source="media_items" db=1.8ms idle=19.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 [22] 11:15:12.191 [debug] Current batch of media processed. Will check again in 1000ms 11:15:13.194 [debug] Current batch of media processed. Will check again in 1000ms 11:15:14.195 [debug] Current batch of media processed. Will check again in 1000ms 11:15:15.205 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3410, "filename" => "/downloads/H3 Podcast/2025-08-30 Reacting To Reddit Stories With My Parents/Reacting To Reddit Stories With My Parents [peS9xfutd6M].mp4", "id" => "peS9xfutd6M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=peS9xfutd6M", "playlist_index" => 23, "timestamp" => 1756573206, "title" => "Reacting To Reddit Stories With My Parents", "upload_date" => "20250830"} 11:15:15.216 [debug] QUERY OK source="sources" db=3.8ms queue=1.2ms idle=1858.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:15.227 [debug] QUERY OK source="sources" db=4.1ms queue=0.6ms idle=1394.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:15.234 [debug] QUERY OK source="media_items" db=4.6ms queue=0.5ms idle=1394.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 17:00:06Z], 1] 11:15:15.251 [debug] QUERY OK source="media_items" db=13.3ms queue=0.2ms idle=394.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Reacting To Reddit Stories With My Parents", "65afa6d1-1fa2-4d4e-b543-7805f7201e08", 3410, false, "peS9xfutd6M", "https://www.youtube.com/watch?v=peS9xfutd6M", 23, "/downloads/H3 Podcast/2025-08-30 Reacting To Reddit Stories With My Parents/Reacting To Reddit Stories With My Parents [peS9xfutd6M].mp4", false, false, false, 1, [], 99, ~U[2025-08-30 17:00:06Z], ~U[2026-04-11 23:15:15Z], ~U[2026-04-11 23:15:15Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Reacting To Reddit Stories With My Parents", 3410, false, "peS9xfutd6M", "https://www.youtube.com/watch?v=peS9xfutd6M", "/downloads/H3 Podcast/2025-08-30 Reacting To Reddit Stories With My Parents/Reacting To Reddit Stories With My Parents [peS9xfutd6M].mp4", false, 1, ~U[2025-08-30 17:00:06Z]] 11:15:15.254 [debug] QUERY OK source="sources" db=1.7ms queue=0.2ms idle=398.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:15.258 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.3ms idle=40.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:15.263 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=32.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 [23] 11:15:15.263 [debug] Current batch of media processed. Will check again in 1000ms 11:15:16.272 [debug] Current batch of media processed. Will check again in 1000ms 11:15:17.274 [debug] Current batch of media processed. Will check again in 1000ms 11:15:18.278 [debug] Current batch of media processed. Will check again in 1000ms 11:15:19.282 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Conduit's Video.. https://youtu.be/QyKrM-b6W4g\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 682, "filename" => "/downloads/H3 Podcast/2025-08-28 Hasan Piker’s Most Embarrassing Confession/Hasan Piker’s Most Embarrassing Confession [_BjQKnzlk3Y].mp4", "id" => "_BjQKnzlk3Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_BjQKnzlk3Y", "playlist_index" => 24, "timestamp" => 1756408344, "title" => "Hasan Piker’s Most Embarrassing Confession", "upload_date" => "20250828"} 11:15:19.285 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=904.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:19.290 [debug] QUERY OK source="sources" db=2.2ms queue=0.2ms idle=908.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:19.294 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=911.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 19:12:24Z], 1] 11:15:19.303 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=384.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Conduit's Video.. https://youtu.be/QyKrM-b6W4g\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Piker’s Most Embarrassing Confession", "058e3d09-d8f3-4d12-9bcb-dcc28fa261eb", 682, false, "_BjQKnzlk3Y", "https://www.youtube.com/watch?v=_BjQKnzlk3Y", 24, "/downloads/H3 Podcast/2025-08-28 Hasan Piker’s Most Embarrassing Confession/Hasan Piker’s Most Embarrassing Confession [_BjQKnzlk3Y].mp4", false, false, false, 1, [], 99, ~U[2025-08-28 19:12:24Z], ~U[2026-04-11 23:15:19Z], ~U[2026-04-11 23:15:19Z], "Conduit's Video.. https://youtu.be/QyKrM-b6W4g\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Piker’s Most Embarrassing Confession", 682, false, "_BjQKnzlk3Y", "https://www.youtube.com/watch?v=_BjQKnzlk3Y", "/downloads/H3 Podcast/2025-08-28 Hasan Piker’s Most Embarrassing Confession/Hasan Piker’s Most Embarrassing Confession [_BjQKnzlk3Y].mp4", false, 1, ~U[2025-08-28 19:12:24Z]] 11:15:19.307 [debug] QUERY OK source="sources" db=1.6ms queue=0.9ms idle=377.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:19.309 [debug] QUERY OK source="media_profiles" db=2.3ms queue=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] 11:15:19.313 [debug] QUERY OK source="media_items" db=3.0ms idle=20.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 [24] 11:15:19.314 [debug] Current batch of media processed. Will check again in 1000ms 11:15:20.315 [debug] Current batch of media processed. Will check again in 1000ms 11:15:21.320 [debug] Current batch of media processed. Will check again in 1000ms 11:15:22.338 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1996, "filename" => "/downloads/H3 Podcast/2025-08-26 Doubling Down On Destiny - He Did It#/Doubling Down On Destiny - He Did It. [b_kT8d_kHHg].mp4", "id" => "b_kT8d_kHHg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=b_kT8d_kHHg", "playlist_index" => 25, "timestamp" => 1756251233, "title" => "Doubling Down On Destiny - He Did It.", "upload_date" => "20250826"} 11:15:22.347 [debug] QUERY OK source="sources" db=4.4ms queue=0.7ms idle=1960.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:22.356 [debug] QUERY OK source="sources" db=3.2ms queue=0.7ms idle=1423.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:22.359 [debug] QUERY OK source="media_items" db=2.3ms queue=0.2ms idle=1420.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-26 23:33:53Z], 1] 11:15:22.370 [debug] QUERY OK source="media_items" db=9.0ms queue=0.1ms idle=406.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Doubling Down On Destiny - He Did It.", "1994f7cf-cbc5-4640-85f0-963fae8e0f6a", 1996, false, "b_kT8d_kHHg", "https://www.youtube.com/watch?v=b_kT8d_kHHg", 25, "/downloads/H3 Podcast/2025-08-26 Doubling Down On Destiny - He Did It#/Doubling Down On Destiny - He Did It. [b_kT8d_kHHg].mp4", false, false, false, 1, [], 99, ~U[2025-08-26 23:33:53Z], ~U[2026-04-11 23:15:22Z], ~U[2026-04-11 23:15:22Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Doubling Down On Destiny - He Did It.", 1996, false, "b_kT8d_kHHg", "https://www.youtube.com/watch?v=b_kT8d_kHHg", "/downloads/H3 Podcast/2025-08-26 Doubling Down On Destiny - He Did It#/Doubling Down On Destiny - He Did It. [b_kT8d_kHHg].mp4", false, 1, ~U[2025-08-26 23:33:53Z]] 11:15:22.372 [debug] QUERY OK source="sources" db=1.2ms queue=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:22.374 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.2ms idle=26.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:22.377 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms 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 [25] 11:15:22.377 [debug] Current batch of media processed. Will check again in 1000ms 11:15:23.379 [debug] Current batch of media processed. Will check again in 1000ms 11:15:24.385 [debug] Current batch of media processed. Will check again in 1000ms 11:15:25.400 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1252, "filename" => "/downloads/H3 Podcast/2025-08-24 The Blind & Deaf Challenge Nearly Broke\u00A0Us/The Blind & Deaf Challenge Nearly Broke\u00A0Us [RY7ELw1K-PA].mp4", "id" => "RY7ELw1K-PA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RY7ELw1K-PA", "playlist_index" => 26, "timestamp" => 1756054806, "title" => "The Blind & Deaf Challenge Nearly Broke\u00A0Us", "upload_date" => "20250824"} 11:15:25.408 [debug] QUERY OK source="sources" db=3.8ms queue=0.8ms idle=398.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:25.418 [debug] QUERY OK source="sources" db=4.5ms queue=0.6ms idle=399.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:25.424 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=23.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-24 17:00:06Z], 1] 11:15:25.435 [debug] QUERY OK source="media_items" db=9.3ms queue=0.1ms idle=29.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Blind & Deaf Challenge Nearly Broke\u00A0Us", "86319b81-b59f-43af-8723-6194c773d43d", 1252, false, "RY7ELw1K-PA", "https://www.youtube.com/watch?v=RY7ELw1K-PA", 26, "/downloads/H3 Podcast/2025-08-24 The Blind & Deaf Challenge Nearly Broke\u00A0Us/The Blind & Deaf Challenge Nearly Broke\u00A0Us [RY7ELw1K-PA].mp4", false, false, false, 1, [], 99, ~U[2025-08-24 17:00:06Z], ~U[2026-04-11 23:15:25Z], ~U[2026-04-11 23:15:25Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Blind & Deaf Challenge Nearly Broke\u00A0Us", 1252, false, "RY7ELw1K-PA", "https://www.youtube.com/watch?v=RY7ELw1K-PA", "/downloads/H3 Podcast/2025-08-24 The Blind & Deaf Challenge Nearly Broke\u00A0Us/The Blind & Deaf Challenge Nearly Broke\u00A0Us [RY7ELw1K-PA].mp4", false, 1, ~U[2025-08-24 17:00:06Z]] 11:15:25.437 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=40.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:25.439 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=30.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:25.442 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=22.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 [26] 11:15:25.442 [debug] Current batch of media processed. Will check again in 1000ms 11:15:26.449 [debug] Current batch of media processed. Will check again in 1000ms 11:15:27.451 [debug] Current batch of media processed. Will check again in 1000ms 11:15:28.457 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2452, "filename" => "/downloads/H3 Podcast/2025-08-23 Kick is Finished/Kick is Finished [Ko6UuCWW82Q].mp4", "id" => "Ko6UuCWW82Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ko6UuCWW82Q", "playlist_index" => 27, "timestamp" => 1755970566, "title" => "Kick is Finished", "upload_date" => "20250823"} 11:15:28.467 [debug] QUERY OK source="sources" db=5.1ms queue=0.9ms idle=1060.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:28.477 [debug] QUERY OK source="sources" db=4.9ms queue=0.6ms idle=1071.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:28.481 [debug] QUERY OK source="media_items" db=2.0ms queue=0.2ms idle=1078.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-23 17:36:06Z], 1] 11:15:28.489 [debug] QUERY OK source="media_items" db=6.4ms queue=0.1ms idle=447.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Kick is Finished", "9512812d-3158-4b7e-af43-725a53fcc2cd", 2452, false, "Ko6UuCWW82Q", "https://www.youtube.com/watch?v=Ko6UuCWW82Q", 27, "/downloads/H3 Podcast/2025-08-23 Kick is Finished/Kick is Finished [Ko6UuCWW82Q].mp4", false, false, false, 1, [], 99, ~U[2025-08-23 17:36:06Z], ~U[2026-04-11 23:15:28Z], ~U[2026-04-11 23:15:28Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Kick is Finished", 2452, false, "Ko6UuCWW82Q", "https://www.youtube.com/watch?v=Ko6UuCWW82Q", "/downloads/H3 Podcast/2025-08-23 Kick is Finished/Kick is Finished [Ko6UuCWW82Q].mp4", false, 1, ~U[2025-08-23 17:36:06Z]] 11:15:28.491 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=446.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:28.493 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.2ms idle=25.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:28.496 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=17.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 [27] 11:15:28.496 [debug] Current batch of media processed. Will check again in 1000ms 11:15:29.499 [debug] Current batch of media processed. Will check again in 1000ms 11:15:30.505 [debug] Current batch of media processed. Will check again in 1000ms 11:15:31.513 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nWillyMac's Video: https://youtu.be/bi6rI29DSq4\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1342, "filename" => "/downloads/H3 Podcast/2025-08-23 He’s 100% Done/He’s 100% Done [C9Y-HoHSwLQ].mp4", "id" => "C9Y-HoHSwLQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C9Y-HoHSwLQ", "playlist_index" => 28, "timestamp" => 1755913024, "title" => "He’s 100% Done", "upload_date" => "20250823"} 11:15:31.517 [debug] QUERY OK source="sources" db=1.7ms queue=0.4ms idle=1106.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:31.525 [debug] QUERY OK source="sources" db=3.3ms queue=0.4ms idle=1112.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:31.534 [debug] QUERY OK source="media_items" db=5.2ms queue=0.7ms idle=1118.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-23 01:37:04Z], 1] 11:15:31.547 [debug] QUERY OK source="media_items" db=9.8ms queue=0.1ms idle=462.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nWillyMac's Video: https://youtu.be/bi6rI29DSq4\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "He’s 100% Done", "731b4c75-4734-4774-ae12-1c48a712fe73", 1342, false, "C9Y-HoHSwLQ", "https://www.youtube.com/watch?v=C9Y-HoHSwLQ", 28, "/downloads/H3 Podcast/2025-08-23 He’s 100% Done/He’s 100% Done [C9Y-HoHSwLQ].mp4", false, false, false, 1, [], 98, ~U[2025-08-23 01:37:04Z], ~U[2026-04-11 23:15:31Z], ~U[2026-04-11 23:15:31Z], "TEDDY FRESH...http://teddyfresh.com\n\nWillyMac's Video: https://youtu.be/bi6rI29DSq4\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "He’s 100% Done", 1342, false, "C9Y-HoHSwLQ", "https://www.youtube.com/watch?v=C9Y-HoHSwLQ", "/downloads/H3 Podcast/2025-08-23 He’s 100% Done/He’s 100% Done [C9Y-HoHSwLQ].mp4", false, 1, ~U[2025-08-23 01:37:04Z]] 11:15:31.550 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=463.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:31.552 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=33.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:31.555 [debug] QUERY OK source="media_items" db=2.3ms idle=27.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 [28] 11:15:31.555 [debug] Current batch of media processed. Will check again in 1000ms 11:15:32.556 [debug] Current batch of media processed. Will check again in 1000ms 11:15:33.566 [debug] Current batch of media processed. Will check again in 1000ms 11:15:34.571 [info] {"source":"oban","duration":17362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:34.571 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Illumitati's instagram https://www.instagram.com/illumitati\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3400, "filename" => "/downloads/H3 Podcast/2025-08-21 The Dark Secret of Lil Tay’s Onlyfans - Exclusive\u00A0Interview/The Dark Secret of Lil Tay’s Onlyfans - Exclusive\u00A0Interview [17OaGSuYoWQ].mp4", "id" => "17OaGSuYoWQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=17OaGSuYoWQ", "playlist_index" => 29, "timestamp" => 1755801208, "title" => "The Dark Secret of Lil Tay’s Onlyfans - Exclusive\u00A0Interview", "upload_date" => "20250821"} 11:15:34.582 [debug] QUERY OK source="sources" db=3.3ms queue=0.4ms idle=1156.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:34.588 [debug] QUERY OK source="sources" db=1.3ms queue=1.0ms idle=1163.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:34.596 [debug] QUERY OK source="media_items" db=6.9ms queue=0.5ms idle=484.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 18:33:28Z], 1] 11:15:34.610 [debug] QUERY OK source="media_items" db=9.7ms queue=0.2ms idle=484.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Illumitati's instagram https://www.instagram.com/illumitati\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Dark Secret of Lil Tay’s Onlyfans - Exclusive\u00A0Interview", "a6fe94b3-9964-4200-b9ff-e7e1386264f9", 3400, false, "17OaGSuYoWQ", "https://www.youtube.com/watch?v=17OaGSuYoWQ", 29, "/downloads/H3 Podcast/2025-08-21 The Dark Secret of Lil Tay’s Onlyfans - Exclusive\u00A0Interview/The Dark Secret of Lil Tay’s Onlyfans - Exclusive\u00A0Interview [17OaGSuYoWQ].mp4", false, false, false, 1, [], 99, ~U[2025-08-21 18:33:28Z], ~U[2026-04-11 23:15:34Z], ~U[2026-04-11 23:15:34Z], "Illumitati's instagram https://www.instagram.com/illumitati\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Dark Secret of Lil Tay’s Onlyfans - Exclusive\u00A0Interview", 3400, false, "17OaGSuYoWQ", "https://www.youtube.com/watch?v=17OaGSuYoWQ", "/downloads/H3 Podcast/2025-08-21 The Dark Secret of Lil Tay’s Onlyfans - Exclusive\u00A0Interview/The Dark Secret of Lil Tay’s Onlyfans - Exclusive\u00A0Interview [17OaGSuYoWQ].mp4", false, 1, ~U[2025-08-21 18:33:28Z]] 11:15:34.613 [debug] QUERY OK source="sources" db=2.2ms queue=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:34.615 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=32.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:34.619 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=28.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 [29] 11:15:34.619 [debug] Current batch of media processed. Will check again in 1000ms 11:15:35.621 [debug] Current batch of media processed. Will check again in 1000ms 11:15:36.623 [debug] Current batch of media processed. Will check again in 1000ms 11:15:37.627 [debug] Current batch of media processed. Will check again in 1000ms 11:15:38.638 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 524, "filename" => "/downloads/H3 Podcast/2025-08-19 They Responded/They Responded [PTcElHBIsMQ].mp4", "id" => "PTcElHBIsMQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PTcElHBIsMQ", "playlist_index" => 30, "timestamp" => 1755624286, "title" => "They Responded", "upload_date" => "20250819"} 11:15:38.649 [debug] QUERY OK source="sources" db=4.6ms queue=0.6ms idle=472.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:38.663 [debug] QUERY OK source="sources" db=6.4ms queue=1.5ms idle=463.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:38.670 [debug] QUERY OK source="media_items" db=3.9ms queue=0.6ms idle=226.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-19 17:24:46Z], 1] 11:15:38.684 [debug] QUERY OK source="media_items" db=11.3ms queue=0.4ms idle=232.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "They Responded", "3213b5c9-caf4-4170-bf1e-b81855fbf4d0", 524, false, "PTcElHBIsMQ", "https://www.youtube.com/watch?v=PTcElHBIsMQ", 30, "/downloads/H3 Podcast/2025-08-19 They Responded/They Responded [PTcElHBIsMQ].mp4", false, false, false, 1, [], 99, ~U[2025-08-19 17:24:46Z], ~U[2026-04-11 23:15:38Z], ~U[2026-04-11 23:15:38Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "They Responded", 524, false, "PTcElHBIsMQ", "https://www.youtube.com/watch?v=PTcElHBIsMQ", "/downloads/H3 Podcast/2025-08-19 They Responded/They Responded [PTcElHBIsMQ].mp4", false, 1, ~U[2025-08-19 17:24:46Z]] 11:15:38.687 [debug] QUERY OK source="sources" db=2.8ms idle=245.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:38.690 [debug] QUERY OK source="media_profiles" db=2.0ms queue=0.1ms idle=40.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:38.695 [debug] QUERY OK source="media_items" db=2.6ms queue=0.3ms idle=29.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 [30] 11:15:38.697 [debug] Current batch of media processed. Will check again in 1000ms 11:15:39.698 [debug] Current batch of media processed. Will check again in 1000ms 11:15:40.699 [debug] Current batch of media processed. Will check again in 1000ms 11:15:41.702 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 857, "filename" => "/downloads/H3 Podcast/2025-08-18 Death Threat/Death Threat [n12vbcrwdzM].mp4", "id" => "n12vbcrwdzM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=n12vbcrwdzM", "playlist_index" => 31, "timestamp" => 1755544843, "title" => "Death Threat", "upload_date" => "20250818"} 11:15:41.705 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms idle=1256.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:41.711 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=1260.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:41.715 [debug] QUERY OK source="media_items" db=2.5ms queue=1.0ms idle=1263.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-18 19:20:43Z], 1] 11:15:41.727 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=507.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Death Threat", "4e8167dd-d3b1-4a64-893a-cc1badab0677", 857, false, "n12vbcrwdzM", "https://www.youtube.com/watch?v=n12vbcrwdzM", 31, "/downloads/H3 Podcast/2025-08-18 Death Threat/Death Threat [n12vbcrwdzM].mp4", false, false, false, 1, [], 99, ~U[2025-08-18 19:20:43Z], ~U[2026-04-11 23:15:41Z], ~U[2026-04-11 23:15:41Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Death Threat", 857, false, "n12vbcrwdzM", "https://www.youtube.com/watch?v=n12vbcrwdzM", "/downloads/H3 Podcast/2025-08-18 Death Threat/Death Threat [n12vbcrwdzM].mp4", false, 1, ~U[2025-08-18 19:20:43Z]] 11:15:41.731 [debug] QUERY OK source="sources" db=2.1ms queue=0.9ms idle=504.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:41.734 [debug] QUERY OK source="media_profiles" db=1.2ms queue=1.1ms idle=26.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:41.740 [debug] QUERY OK source="media_items" db=2.4ms queue=0.7ms idle=25.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 [31] 11:15:41.741 [debug] Current batch of media processed. Will check again in 1000ms 11:15:42.744 [debug] Current batch of media processed. Will check again in 1000ms 11:15:43.748 [debug] Current batch of media processed. Will check again in 1000ms 11:15:44.752 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 900, "filename" => "/downloads/H3 Podcast/2025-08-05 Ethan Becomes A Cowboy/Ethan Becomes A Cowboy [ADJYnCrJXfA].mp4", "id" => "ADJYnCrJXfA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ADJYnCrJXfA", "playlist_index" => 32, "timestamp" => 1754436251, "title" => "Ethan Becomes A Cowboy", "upload_date" => "20250805"} 11:15:44.763 [debug] QUERY OK source="sources" db=5.5ms queue=0.5ms idle=1293.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:44.776 [debug] QUERY OK source="sources" db=4.8ms queue=0.6ms idle=1308.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:44.782 [debug] QUERY OK source="media_items" db=2.9ms queue=1.4ms idle=1315.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-05 23:24:11Z], 1] 11:15:44.803 [debug] QUERY OK source="media_items" db=17.9ms queue=0.6ms idle=546.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ethan Becomes A Cowboy", "fe0e25e0-3603-4254-8374-8304bf507741", 900, false, "ADJYnCrJXfA", "https://www.youtube.com/watch?v=ADJYnCrJXfA", 32, "/downloads/H3 Podcast/2025-08-05 Ethan Becomes A Cowboy/Ethan Becomes A Cowboy [ADJYnCrJXfA].mp4", false, false, false, 1, [], 99, ~U[2025-08-05 23:24:11Z], ~U[2026-04-11 23:15:44Z], ~U[2026-04-11 23:15:44Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ethan Becomes A Cowboy", 900, false, "ADJYnCrJXfA", "https://www.youtube.com/watch?v=ADJYnCrJXfA", "/downloads/H3 Podcast/2025-08-05 Ethan Becomes A Cowboy/Ethan Becomes A Cowboy [ADJYnCrJXfA].mp4", false, 1, ~U[2025-08-05 23:24:11Z]] 11:15:44.806 [debug] QUERY OK source="sources" db=1.6ms queue=0.9ms idle=559.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:44.810 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=45.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:44.816 [debug] QUERY OK source="media_items" db=2.8ms queue=0.7ms idle=36.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 [32] 11:15:44.817 [debug] Current batch of media processed. Will check again in 1000ms 11:15:45.820 [debug] Current batch of media processed. Will check again in 1000ms 11:15:46.824 [debug] Current batch of media processed. Will check again in 1000ms 11:15:47.832 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://mood.com (use code: H3 for 25% off your first order!) & http://gamersupps.gg/h3 for sponsoring this episode!\nShot on location at The Red Dragon Inn: https://www.airbnb.com/rooms/9365179\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 10688, "filename" => "/downloads/H3 Podcast/2024-12-21 We Play Dungeons & Dragons In Character w⧸ Insane Costumes - H3 Show #95/We Play Dungeons & Dragons In Character w⧸ Insane Costumes - H3 Show #95 [UxVZu6UiXOA].mp4", "id" => "UxVZu6UiXOA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UxVZu6UiXOA", "playlist_index" => 33, "timestamp" => 1734742806, "title" => "We Play Dungeons & Dragons In Character w/ Insane Costumes - H3 Show #95", "upload_date" => "20241221"} 11:15:47.841 [debug] QUERY OK source="sources" db=3.6ms queue=1.3ms idle=1357.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:47.851 [debug] QUERY OK source="sources" db=2.8ms queue=1.3ms idle=1368.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:47.854 [debug] QUERY OK source="media_items" db=2.5ms queue=0.2ms idle=1373.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-21 01:00:06Z], 1] 11:15:47.868 [debug] QUERY OK source="media_items" db=10.0ms queue=0.2ms idle=560.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://mood.com (use code: H3 for 25% off your first order!) & http://gamersupps.gg/h3 for sponsoring this episode!\nShot on location at The Red Dragon Inn: https://www.airbnb.com/rooms/9365179\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Play Dungeons & Dragons In Character w/ Insane Costumes - H3 Show #95", "d3ba1ab0-aa0e-4271-9a34-53a70475a221", 10688, false, "UxVZu6UiXOA", "https://www.youtube.com/watch?v=UxVZu6UiXOA", 33, "/downloads/H3 Podcast/2024-12-21 We Play Dungeons & Dragons In Character w⧸ Insane Costumes - H3 Show #95/We Play Dungeons & Dragons In Character w⧸ Insane Costumes - H3 Show #95 [UxVZu6UiXOA].mp4", false, false, false, 1, [], 99, ~U[2024-12-21 01:00:06Z], ~U[2026-04-11 23:15:47Z], ~U[2026-04-11 23:15:47Z], "Thank you to http://mood.com (use code: H3 for 25% off your first order!) & http://gamersupps.gg/h3 for sponsoring this episode!\nShot on location at The Red Dragon Inn: https://www.airbnb.com/rooms/9365179\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Play Dungeons & Dragons In Character w/ Insane Costumes - H3 Show #95", 10688, false, "UxVZu6UiXOA", "https://www.youtube.com/watch?v=UxVZu6UiXOA", "/downloads/H3 Podcast/2024-12-21 We Play Dungeons & Dragons In Character w⧸ Insane Costumes - H3 Show #95/We Play Dungeons & Dragons In Character w⧸ Insane Costumes - H3 Show #95 [UxVZu6UiXOA].mp4", false, 1, ~U[2024-12-21 01:00:06Z]] 11:15:47.871 [debug] QUERY OK source="sources" db=2.1ms queue=0.2ms idle=563.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:47.873 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.2ms idle=31.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:47.876 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=23.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 [33] 11:15:47.876 [debug] Current batch of media processed. Will check again in 1000ms 11:15:48.877 [debug] Current batch of media processed. Will check again in 1000ms 11:15:49.879 [debug] Current batch of media processed. Will check again in 1000ms 11:15:50.885 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://mood.com for sponsoring this You Laugh You Lose! Use code H3 for 25% off your first order!\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6809, "filename" => "/downloads/H3 Podcast/2024-11-29 You Laugh, You Eat! (With Dangerous Consequences) 2024 Edition/You Laugh, You Eat! (With Dangerous Consequences) 2024 Edition [dF5cQKW_pd8].mp4", "id" => "dF5cQKW_pd8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dF5cQKW_pd8", "playlist_index" => 34, "timestamp" => 1732910456, "title" => "You Laugh, You Eat! (With Dangerous Consequences) 2024 Edition", "upload_date" => "20241129"} 11:15:50.896 [debug] QUERY OK source="sources" db=6.0ms queue=1.3ms idle=1398.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:50.903 [debug] QUERY OK source="sources" db=2.6ms queue=0.3ms idle=1410.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:50.910 [debug] QUERY OK source="media_items" db=4.6ms queue=1.2ms idle=1414.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-29 20:00:56Z], 1] 11:15:50.921 [debug] QUERY OK source="media_items" db=8.1ms queue=0.1ms idle=561.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://mood.com for sponsoring this You Laugh You Lose! Use code H3 for 25% off your first order!\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You Eat! (With Dangerous Consequences) 2024 Edition", "afc7aa20-255f-4f82-a1bc-4a66da80af6e", 6809, false, "dF5cQKW_pd8", "https://www.youtube.com/watch?v=dF5cQKW_pd8", 34, "/downloads/H3 Podcast/2024-11-29 You Laugh, You Eat! (With Dangerous Consequences) 2024 Edition/You Laugh, You Eat! (With Dangerous Consequences) 2024 Edition [dF5cQKW_pd8].mp4", false, false, false, 1, [], 99, ~U[2024-11-29 20:00:56Z], ~U[2026-04-11 23:15:50Z], ~U[2026-04-11 23:15:50Z], "Thank you to http://mood.com for sponsoring this You Laugh You Lose! Use code H3 for 25% off your first order!\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You Eat! (With Dangerous Consequences) 2024 Edition", 6809, false, "dF5cQKW_pd8", "https://www.youtube.com/watch?v=dF5cQKW_pd8", "/downloads/H3 Podcast/2024-11-29 You Laugh, You Eat! (With Dangerous Consequences) 2024 Edition/You Laugh, You Eat! (With Dangerous Consequences) 2024 Edition [dF5cQKW_pd8].mp4", false, 1, ~U[2024-11-29 20:00:56Z]] 11:15:50.925 [debug] QUERY OK source="sources" db=1.7ms queue=1.2ms idle=559.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:50.929 [debug] QUERY OK source="media_profiles" db=1.2ms queue=1.7ms idle=30.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:50.934 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=28.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 [34] 11:15:50.935 [debug] Current batch of media processed. Will check again in 1000ms 11:15:51.942 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1349, "filename" => "/downloads/H3 Podcast/2024-09-13 H3 Podcast BTS #54/H3 Podcast BTS #54 [Xzon3uzdQAE].NA", "id" => "Xzon3uzdQAE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Xzon3uzdQAE", "playlist_index" => 35, "timestamp" => 1726271787, "title" => "H3 Podcast BTS #54", "upload_date" => "20240913"} 11:15:51.945 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=1018.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:51.947 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1017.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:51.952 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=1013.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-13 23:56:27Z], 1] 11:15:51.963 [debug] QUERY OK source="media_items" db=8.0ms queue=0.2ms idle=588.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #54", "e8e40d45-f497-4488-afe6-35a072fbd192", 1349, false, "Xzon3uzdQAE", "https://www.youtube.com/watch?v=Xzon3uzdQAE", 35, "/downloads/H3 Podcast/2024-09-13 H3 Podcast BTS #54/H3 Podcast BTS #54 [Xzon3uzdQAE].NA", false, false, false, 1, [], 99, ~U[2024-09-13 23:56:27Z], ~U[2026-04-11 23:15:51Z], ~U[2026-04-11 23:15:51Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #54", 1349, false, "Xzon3uzdQAE", "https://www.youtube.com/watch?v=Xzon3uzdQAE", "/downloads/H3 Podcast/2024-09-13 H3 Podcast BTS #54/H3 Podcast BTS #54 [Xzon3uzdQAE].NA", false, 1, ~U[2024-09-13 23:56:27Z]] 11:15:51.966 [debug] QUERY OK source="sources" db=1.8ms queue=0.3ms idle=589.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:51.968 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.3ms idle=21.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:51.972 [debug] QUERY OK source="media_items" db=3.1ms idle=22.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [35] 11:15:51.973 [debug] Current batch of media processed. Will check again in 1000ms 11:15:52.981 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1403, "filename" => "/downloads/H3 Podcast/2024-07-30 H3 Podcast BTS #53/H3 Podcast BTS #53 [mr4BOiTmSlg].NA", "id" => "mr4BOiTmSlg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mr4BOiTmSlg", "playlist_index" => 36, "timestamp" => 1722371419, "title" => "H3 Podcast BTS #53", "upload_date" => "20240730"} 11:15:52.995 [debug] QUERY OK source="sources" db=6.7ms queue=1.7ms idle=1019.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:53.004 [debug] QUERY OK source="sources" db=3.3ms queue=1.3ms idle=1031.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:53.010 [debug] QUERY OK source="media_items" db=4.3ms queue=0.3ms idle=1032.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-30 20:30:19Z], 1] 11:15:53.018 [debug] QUERY OK source="media_items" db=6.2ms queue=0.1ms idle=639.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #53", "4472bdfb-1d56-4618-962c-64a599c7c65a", 1403, false, "mr4BOiTmSlg", "https://www.youtube.com/watch?v=mr4BOiTmSlg", 36, "/downloads/H3 Podcast/2024-07-30 H3 Podcast BTS #53/H3 Podcast BTS #53 [mr4BOiTmSlg].NA", false, false, false, 1, [], 99, ~U[2024-07-30 20:30:19Z], ~U[2026-04-11 23:15:53Z], ~U[2026-04-11 23:15:53Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #53", 1403, false, "mr4BOiTmSlg", "https://www.youtube.com/watch?v=mr4BOiTmSlg", "/downloads/H3 Podcast/2024-07-30 H3 Podcast BTS #53/H3 Podcast BTS #53 [mr4BOiTmSlg].NA", false, 1, ~U[2024-07-30 20:30:19Z]] 11:15:53.021 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=638.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:53.022 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=27.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:53.025 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=19.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [36] 11:15:53.025 [debug] Current batch of media processed. Will check again in 1000ms 11:15:54.036 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 912, "filename" => "/downloads/H3 Podcast/2024-05-10 H3 Podcast BTS #52/H3 Podcast BTS #52 [jRKm6QIIuwE].NA", "id" => "jRKm6QIIuwE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jRKm6QIIuwE", "playlist_index" => 37, "timestamp" => 1715383256, "title" => "H3 Podcast BTS #52", "upload_date" => "20240510"} 11:15:54.045 [debug] QUERY OK source="sources" db=3.4ms queue=1.4ms idle=1018.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:54.055 [debug] QUERY OK source="sources" db=3.3ms queue=1.3ms idle=1027.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:54.062 [debug] QUERY OK source="media_items" db=4.2ms queue=0.5ms idle=1033.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-10 23:20:56Z], 1] 11:15:54.071 [debug] QUERY OK source="media_items" db=5.8ms queue=0.2ms idle=686.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #52", "c7c564b0-6c07-4b20-9f71-f2f35b37bdb7", 912, false, "jRKm6QIIuwE", "https://www.youtube.com/watch?v=jRKm6QIIuwE", 37, "/downloads/H3 Podcast/2024-05-10 H3 Podcast BTS #52/H3 Podcast BTS #52 [jRKm6QIIuwE].NA", false, false, false, 1, [], 99, ~U[2024-05-10 23:20:56Z], ~U[2026-04-11 23:15:54Z], ~U[2026-04-11 23:15:54Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #52", 912, false, "jRKm6QIIuwE", "https://www.youtube.com/watch?v=jRKm6QIIuwE", "/downloads/H3 Podcast/2024-05-10 H3 Podcast BTS #52/H3 Podcast BTS #52 [jRKm6QIIuwE].NA", false, 1, ~U[2024-05-10 23:20:56Z]] 11:15:54.073 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=684.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:54.075 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.2ms idle=29.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:54.078 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=21.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 [37] 11:15:54.078 [debug] Current batch of media processed. Will check again in 1000ms 11:15:55.090 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1133, "filename" => "/downloads/H3 Podcast/2024-01-26 H3 Podcast BTS #51/H3 Podcast BTS #51 [mKz5Bdf6yTE].NA", "id" => "mKz5Bdf6yTE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mKz5Bdf6yTE", "playlist_index" => 38, "timestamp" => 1706298630, "title" => "H3 Podcast BTS #51", "upload_date" => "20240126"} 11:15:55.094 [debug] QUERY OK source="sources" db=1.4ms queue=0.5ms 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" IN (?)) [1] 11:15:55.097 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:55.105 [debug] QUERY OK source="media_items" db=5.9ms queue=0.2ms idle=1020.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-01-26 19:50:30Z], 1] 11:15:55.112 [debug] QUERY OK source="media_items" db=4.8ms queue=0.2ms idle=705.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #51", "d7c80ef3-7c54-4e77-8d1e-ac1936c1059f", 1133, false, "mKz5Bdf6yTE", "https://www.youtube.com/watch?v=mKz5Bdf6yTE", 38, "/downloads/H3 Podcast/2024-01-26 H3 Podcast BTS #51/H3 Podcast BTS #51 [mKz5Bdf6yTE].NA", false, false, false, 1, [], 99, ~U[2024-01-26 19:50:30Z], ~U[2026-04-11 23:15:55Z], ~U[2026-04-11 23:15:55Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #51", 1133, false, "mKz5Bdf6yTE", "https://www.youtube.com/watch?v=mKz5Bdf6yTE", "/downloads/H3 Podcast/2024-01-26 H3 Podcast BTS #51/H3 Podcast BTS #51 [mKz5Bdf6yTE].NA", false, 1, ~U[2024-01-26 19:50:30Z]] 11:15:55.114 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=698.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:55.116 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.2ms idle=20.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:55.119 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=19.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 [38] 11:15:55.119 [debug] Current batch of media processed. Will check again in 1000ms 11:15:56.130 [debug] Current batch of media processed. Will check again in 1000ms 11:15:57.132 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1295, "filename" => "/downloads/H3 Podcast/2024-01-12 H3 Podcast BTS #50/H3 Podcast BTS #50 [JlETwtCzRU8].NA", "id" => "JlETwtCzRU8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JlETwtCzRU8", "playlist_index" => 39, "timestamp" => 1705091765, "title" => "H3 Podcast BTS #50", "upload_date" => "20240112"} 11:15:57.136 [debug] QUERY OK source="sources" db=0.9ms queue=0.4ms idle=709.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:57.139 [debug] QUERY OK source="sources" db=2.0ms queue=0.8ms idle=702.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:57.147 [debug] QUERY OK source="media_items" db=6.1ms queue=0.1ms idle=610.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-01-12 20:36:05Z], 1] 11:15:57.165 [debug] QUERY OK source="media_items" db=13.3ms queue=0.6ms idle=619.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #50", "589a8e03-707f-4979-8061-f40f4e64210e", 1295, false, "JlETwtCzRU8", "https://www.youtube.com/watch?v=JlETwtCzRU8", 39, "/downloads/H3 Podcast/2024-01-12 H3 Podcast BTS #50/H3 Podcast BTS #50 [JlETwtCzRU8].NA", false, false, false, 1, [], 99, ~U[2024-01-12 20:36:05Z], ~U[2026-04-11 23:15:57Z], ~U[2026-04-11 23:15:57Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #50", 1295, false, "JlETwtCzRU8", "https://www.youtube.com/watch?v=JlETwtCzRU8", "/downloads/H3 Podcast/2024-01-12 H3 Podcast BTS #50/H3 Podcast BTS #50 [JlETwtCzRU8].NA", false, 1, ~U[2024-01-12 20:36:05Z]] 11:15:57.173 [debug] QUERY OK source="sources" db=5.6ms queue=0.5ms idle=637.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:57.177 [debug] QUERY OK source="media_profiles" db=1.2ms queue=2.1ms idle=38.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:57.183 [debug] QUERY OK source="media_items" db=4.8ms idle=38.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [39] 11:15:57.184 [debug] Current batch of media processed. Will check again in 1000ms 11:15:58.188 [debug] Current batch of media processed. Will check again in 1000ms 11:15:59.201 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Gamersupps for sponsoring this episode! Go to http://gamersupps.gg and use code H3 for 10% off your purchase.\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\nLinks to todays videos:\n\nEthan\nhttps://youtu.be/LabX19ocJZA?t=181\nhttps://www.tiktok.com/@ethankleinh3/video/6870335665154837766\n\nDan\nhttps://www.instagram.com/p/Cy553pPhC39/\nhttps://www.instagram.com/p/CyLl3TRrw72/\nhttps://www.youtube.com/watch?v=vZkHSE2cKqI\nhttps://www.instagram.com/p/Cuh--EXvOUh/\n\nHila\nhttps://www.instagram.com/reel/CxgOblgOw3I\nhttps://www.instagram.com/reel/CysNMFiiqCZ\nhttps://www.instagram.com/reel/Cw2d8MlBQFz\nhttps://www.instagram.com/reel/Cy7hqsqslwC\nhttps://www.instagram.com/reel/Cx2lpVzOezl\n\nZach\nhttps://www.instagram.com/reel/CyOYHqtuJje/\nhttps://youtu.be/CA_0rWc-mZg\nhttps://www.instagram.com/reel/Cze_DpniywY/\nhttps://www.instagram.com/reel/Czo2YSdLf6B/\n\nSam\nhttps://www.tiktok.com/t/ZT8UKqAra/\nhttps://www.tiktok.com/t/ZPRvhytxP/\nhttps://www.tiktok.com/t/ZPRvhMUsd/\n\nOlivia\nhttps://www.tiktok.com/@marcanderson8/video/7243871186126572846\nhttps://www.instagram.com/reel/CpQGZ9fAeaE/\nhttps://www.tiktok.com/@lukeandsassyscott/video/7235164391484771585\nhttps://www.tiktok.com/@davidcoen75/video/7248751644203027758\n\nAB\nhttps://www.youtube.com/watch?v=Ch21wUj2ThE\n\nCam\nhttps://youtu.be/r0IQCLQDfKw\n\nLena\nhttps://youtu.be/ZLvcKcZ3p68\nhttps://youtu.be/8Db3rluT76w\nhttps://www.tiktok.com/@dr.remix/video/7293541276585168170", "duration" => 7769, "filename" => "/downloads/H3 Podcast/2023-11-24 You Laugh, You Lose! - 2023/You Laugh, You Lose! - 2023 [d3035N6hj5Y].mp4", "id" => "d3035N6hj5Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d3035N6hj5Y", "playlist_index" => 40, "timestamp" => 1700842604, "title" => "You Laugh, You Lose! - 2023", "upload_date" => "20231124"} 11:15:59.209 [debug] QUERY OK source="sources" db=3.9ms queue=0.8ms idle=755.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:15:59.217 [debug] QUERY OK source="sources" db=2.0ms queue=0.7ms idle=754.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:59.221 [debug] QUERY OK source="media_items" db=3.5ms queue=0.2ms idle=678.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-11-24 16:16:44Z], 1] 11:15:59.235 [debug] QUERY OK source="media_items" db=11.5ms queue=0.1ms idle=683.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Gamersupps for sponsoring this episode! Go to http://gamersupps.gg and use code H3 for 10% off your purchase.\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\nLinks to todays videos:\n\nEthan\nhttps://youtu.be/LabX19ocJZA?t=181\nhttps://www.tiktok.com/@ethankleinh3/video/6870335665154837766\n\nDan\nhttps://www.instagram.com/p/Cy553pPhC39/\nhttps://www.instagram.com/p/CyLl3TRrw72/\nhttps://www.youtube.com/watch?v=vZkHSE2cKqI\nhttps://www.instagram.com/p/Cuh--EXvOUh/\n\nHila\nhttps://www.instagram.com/reel/CxgOblgOw3I\nhttps://www.instagram.com/reel/CysNMFiiqCZ\nhttps://www.instagram.com/reel/Cw2d8MlBQFz\nhttps://www.instagram.com/reel/Cy7hqsqslwC\nhttps://www.instagram.com/reel/Cx2lpVzOezl\n\nZach\nhttps://www.instagram.com/reel/CyOYHqtuJje/\nhttps://youtu.be/CA_0rWc-mZg\nhttps://www.instagram.com/reel/Cze_DpniywY/\nhttps://www.instagram.com/reel/Czo2YSdLf6B/\n\nSam\nhttps://www.tiktok.com/t/ZT8UKqAra/\nhttps://www.tiktok.com/t/ZPRvhytxP/\nhttps://www.tiktok.com/t/ZPRvhMUsd/\n\nOlivia\nhttps://www.tiktok.com/@marcanderson8/video/7243871186126572846\nhttps://www.instagram.com/reel/CpQGZ9fAeaE/\nhttps://www.tiktok.com/@lukeandsassyscott/video/7235164391484771585\nhttps://www.tiktok.com/@davidcoen75/video/7248751644203027758\n\nAB\nhttps://www.youtube.com/watch?v=Ch21wUj2ThE\n\nCam\nhttps://youtu.be/r0IQCLQDfKw\n\nLena\nhttps://youtu.be/ZLvcKcZ3p68\nhttps://youtu.be/8Db3rluT76w\nhttps://www.tiktok.com/@dr.remix/video/7293541276585168170", "You Laugh, You Lose! - 2023", "288f8105-a05b-470c-bcdc-25d165bb08dc", 7769, false, "d3035N6hj5Y", "https://www.youtube.com/watch?v=d3035N6hj5Y", 40, "/downloads/H3 Podcast/2023-11-24 You Laugh, You Lose! - 2023/You Laugh, You Lose! - 2023 [d3035N6hj5Y].mp4", false, false, false, 1, [], 99, ~U[2023-11-24 16:16:44Z], ~U[2026-04-11 23:15:59Z], ~U[2026-04-11 23:15:59Z], "Thank you to Gamersupps for sponsoring this episode! Go to http://gamersupps.gg and use code H3 for 10% off your purchase.\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\nLinks to todays videos:\n\nEthan\nhttps://youtu.be/LabX19ocJZA?t=181\nhttps://www.tiktok.com/@ethankleinh3/video/6870335665154837766\n\nDan\nhttps://www.instagram.com/p/Cy553pPhC39/\nhttps://www.instagram.com/p/CyLl3TRrw72/\nhttps://www.youtube.com/watch?v=vZkHSE2cKqI\nhttps://www.instagram.com/p/Cuh--EXvOUh/\n\nHila\nhttps://www.instagram.com/reel/CxgOblgOw3I\nhttps://www.instagram.com/reel/CysNMFiiqCZ\nhttps://www.instagram.com/reel/Cw2d8MlBQFz\nhttps://www.instagram.com/reel/Cy7hqsqslwC\nhttps://www.instagram.com/reel/Cx2lpVzOezl\n\nZach\nhttps://www.instagram.com/reel/CyOYHqtuJje/\nhttps://youtu.be/CA_0rWc-mZg\nhttps://www.instagram.com/reel/Cze_DpniywY/\nhttps://www.instagram.com/reel/Czo2YSdLf6B/\n\nSam\nhttps://www.tiktok.com/t/ZT8UKqAra/\nhttps://www.tiktok.com/t/ZPRvhytxP/\nhttps://www.tiktok.com/t/ZPRvhMUsd/\n\nOlivia\nhttps://www.tiktok.com/@marcanderson8/video/7243871186126572846\nhttps://www.instagram.com/reel/CpQGZ9fAeaE/\nhttps://www.tiktok.com/@lukeandsassyscott/video/7235164391484771585\nhttps://www.tiktok.com/@davidcoen75/video/7248751644203027758\n\nAB\nhttps://www.youtube.com/watch?v=Ch21wUj2ThE\n\nCam\nhttps://youtu.be/r0IQCLQDfKw\n\nLena\nhttps://youtu.be/ZLvcKcZ3p68\nhttps://youtu.be/8Db3rluT76w\nhttps://www.tiktok.com/@dr.remix/video/7293541276585168170", "You Laugh, You Lose! - 2023", 7769, false, "d3035N6hj5Y", "https://www.youtube.com/watch?v=d3035N6hj5Y", "/downloads/H3 Podcast/2023-11-24 You Laugh, You Lose! - 2023/You Laugh, You Lose! - 2023 [d3035N6hj5Y].mp4", false, 1, ~U[2023-11-24 16:16:44Z]] 11:15:59.237 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=697.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:15:59.239 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=28.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:15:59.241 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms 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 [40] 11:15:59.241 [debug] Current batch of media processed. Will check again in 1000ms 11:16:00.247 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1170, "filename" => "/downloads/H3 Podcast/2023-06-03 H3 Podcast BTS #49/H3 Podcast BTS #49 [gf6BFji8jsk].NA", "id" => "gf6BFji8jsk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gf6BFji8jsk", "playlist_index" => 41, "timestamp" => 1685751237, "title" => "H3 Podcast BTS #49", "upload_date" => "20230603"} 11:16:00.256 [debug] QUERY OK source="sources" db=4.2ms queue=0.8ms idle=1013.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:00.261 [debug] QUERY OK source="sources" db=2.2ms queue=0.8ms 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" = ?) [1] 11:16:00.273 [debug] QUERY OK source="media_items" db=9.0ms queue=0.5ms idle=1021.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-06-03 00:13:57Z], 1] 11:16:00.288 [debug] QUERY OK source="media_items" db=11.5ms queue=0.2ms idle=810.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #49", "df2a3048-de1a-4914-8c29-4a7784c65868", 1170, false, "gf6BFji8jsk", "https://www.youtube.com/watch?v=gf6BFji8jsk", 41, "/downloads/H3 Podcast/2023-06-03 H3 Podcast BTS #49/H3 Podcast BTS #49 [gf6BFji8jsk].NA", false, false, false, 1, [], 99, ~U[2023-06-03 00:13:57Z], ~U[2026-04-11 23:16:00Z], ~U[2026-04-11 23:16:00Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #49", 1170, false, "gf6BFji8jsk", "https://www.youtube.com/watch?v=gf6BFji8jsk", "/downloads/H3 Podcast/2023-06-03 H3 Podcast BTS #49/H3 Podcast BTS #49 [gf6BFji8jsk].NA", false, 1, ~U[2023-06-03 00:13:57Z]] 11:16:00.291 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=807.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:00.293 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.2ms idle=36.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:00.297 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=33.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 [41] 11:16:00.297 [debug] Current batch of media processed. Will check again in 1000ms 11:16:00.655 [info] {"source":"oban","duration":4690,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:16:01.302 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 930, "filename" => "/downloads/H3 Podcast/2023-05-19 H3 Podcast BTS #48/H3 Podcast BTS #48 [8u5iG2Sam4o].NA", "id" => "8u5iG2Sam4o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8u5iG2Sam4o", "playlist_index" => 42, "timestamp" => 1684539104, "title" => "H3 Podcast BTS #48", "upload_date" => "20230519"} 11:16:01.305 [debug] QUERY OK source="sources" db=0.8ms queue=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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:01.306 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1008.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:01.311 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=826.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-05-19 23:31:44Z], 1] 11:16:01.319 [debug] QUERY OK source="media_items" db=5.3ms queue=0.1ms idle=817.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #48", "d4b3ee91-499c-4837-b7df-143c49c1e2fd", 930, false, "8u5iG2Sam4o", "https://www.youtube.com/watch?v=8u5iG2Sam4o", 42, "/downloads/H3 Podcast/2023-05-19 H3 Podcast BTS #48/H3 Podcast BTS #48 [8u5iG2Sam4o].NA", false, false, false, 1, [], 99, ~U[2023-05-19 23:31:44Z], ~U[2026-04-11 23:16:01Z], ~U[2026-04-11 23:16:01Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #48", 930, false, "8u5iG2Sam4o", "https://www.youtube.com/watch?v=8u5iG2Sam4o", "/downloads/H3 Podcast/2023-05-19 H3 Podcast BTS #48/H3 Podcast BTS #48 [8u5iG2Sam4o].NA", false, 1, ~U[2023-05-19 23:31:44Z]] 11:16:01.321 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=665.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:01.322 [debug] QUERY OK source="media_profiles" db=1.1ms queue=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] 11:16:01.325 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=17.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [42] 11:16:01.325 [debug] Current batch of media processed. Will check again in 1000ms 11:16:02.327 [debug] Current batch of media processed. Will check again in 1000ms 11:16:03.330 [debug] Current batch of media processed. Will check again in 1000ms 11:16:04.343 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://expressvpn.com/h3 for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\n0:00 Intro\n2:00 Topic Introduction\n4:00 Pizza Dough Frisbee - Real or Fake?\n34:30 Sam's TikTok\n51:30 HungerFF Calls In\n1:23:30 Keemstar's Next Boxing Match\n1:26:20 Steven Crowder Had Another Meltdown\n1:33:30 Farah Khalidi Owns Fresh & Fit\n1:47:50 Can We Make Fika Fish Good?\n2:41:10 Crazy Videos\n2:45:00 Cringey Music \"TikTokers\"\n3:28:00 End of The Show Banter", "duration" => 12442, "filename" => "/downloads/H3 Podcast/2023-05-18 Making The Most Disgusting Fish In The World Delicious - Off The Rails #72/Making The Most Disgusting Fish In The World Delicious - Off The Rails #72 [j_lLeMIwlmE].mp4", "id" => "j_lLeMIwlmE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=j_lLeMIwlmE", "playlist_index" => 43, "timestamp" => 1684371157, "title" => "Making The Most Disgusting Fish In The World Delicious - Off The Rails #72", "upload_date" => "20230518"} 11:16:04.355 [debug] QUERY OK source="sources" db=5.9ms queue=1.9ms idle=1808.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:04.361 [debug] QUERY OK source="sources" db=2.1ms queue=0.4ms idle=1820.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:04.367 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=1823.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-05-18 00:52:37Z], 1] 11:16:04.381 [debug] QUERY OK source="media_items" db=12.0ms queue=0.1ms idle=858.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://expressvpn.com/h3 for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\n0:00 Intro\n2:00 Topic Introduction\n4:00 Pizza Dough Frisbee - Real or Fake?\n34:30 Sam's TikTok\n51:30 HungerFF Calls In\n1:23:30 Keemstar's Next Boxing Match\n1:26:20 Steven Crowder Had Another Meltdown\n1:33:30 Farah Khalidi Owns Fresh & Fit\n1:47:50 Can We Make Fika Fish Good?\n2:41:10 Crazy Videos\n2:45:00 Cringey Music \"TikTokers\"\n3:28:00 End of The Show Banter", "Making The Most Disgusting Fish In The World Delicious - Off The Rails #72", "9456ed06-6ee3-4618-9b1b-a5417f5f0285", 12442, false, "j_lLeMIwlmE", "https://www.youtube.com/watch?v=j_lLeMIwlmE", 43, "/downloads/H3 Podcast/2023-05-18 Making The Most Disgusting Fish In The World Delicious - Off The Rails #72/Making The Most Disgusting Fish In The World Delicious - Off The Rails #72 [j_lLeMIwlmE].mp4", false, false, false, 1, [], 99, ~U[2023-05-18 00:52:37Z], ~U[2026-04-11 23:16:04Z], ~U[2026-04-11 23:16:04Z], "Thank you to http://expressvpn.com/h3 for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\n0:00 Intro\n2:00 Topic Introduction\n4:00 Pizza Dough Frisbee - Real or Fake?\n34:30 Sam's TikTok\n51:30 HungerFF Calls In\n1:23:30 Keemstar's Next Boxing Match\n1:26:20 Steven Crowder Had Another Meltdown\n1:33:30 Farah Khalidi Owns Fresh & Fit\n1:47:50 Can We Make Fika Fish Good?\n2:41:10 Crazy Videos\n2:45:00 Cringey Music \"TikTokers\"\n3:28:00 End of The Show Banter", "Making The Most Disgusting Fish In The World Delicious - Off The Rails #72", 12442, false, "j_lLeMIwlmE", "https://www.youtube.com/watch?v=j_lLeMIwlmE", "/downloads/H3 Podcast/2023-05-18 Making The Most Disgusting Fish In The World Delicious - Off The Rails #72/Making The Most Disgusting Fish In The World Delicious - Off The Rails #72 [j_lLeMIwlmE].mp4", false, 1, ~U[2023-05-18 00:52:37Z]] 11:16:04.384 [debug] QUERY OK source="sources" db=1.8ms queue=0.2ms idle=862.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:04.386 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=30.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:04.389 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms 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 [43] 11:16:04.390 [debug] Current batch of media processed. Will check again in 1000ms 11:16:04.576 [info] {"source":"oban","duration":3135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:05.400 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1992, "filename" => "/downloads/H3 Podcast/2023-05-13 Lore Commentary Mini-Episode #1 (Channel Members Content)/Lore Commentary Mini-Episode #1 (Channel Members Content) [QOL8vgkoAFo].NA", "id" => "QOL8vgkoAFo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QOL8vgkoAFo", "playlist_index" => 44, "timestamp" => 1683950632, "title" => "Lore Commentary Mini-Episode #1 (Channel Members Content)", "upload_date" => "20230513"} 11:16:05.407 [debug] QUERY OK source="sources" db=3.3ms queue=0.8ms idle=1017.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:05.414 [debug] QUERY OK source="sources" db=2.8ms queue=0.7ms idle=1020.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:05.420 [debug] QUERY OK source="media_items" db=4.6ms queue=0.2ms idle=897.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-05-13 04:03:52Z], 1] 11:16:05.428 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=893.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Lore Commentary Mini-Episode #1 (Channel Members Content)", "887d4733-43fc-45ee-a736-140581a53892", 1992, false, "QOL8vgkoAFo", "https://www.youtube.com/watch?v=QOL8vgkoAFo", 44, "/downloads/H3 Podcast/2023-05-13 Lore Commentary Mini-Episode #1 (Channel Members Content)/Lore Commentary Mini-Episode #1 (Channel Members Content) [QOL8vgkoAFo].NA", false, false, false, 1, [], 99, ~U[2023-05-13 04:03:52Z], ~U[2026-04-11 23:16:05Z], ~U[2026-04-11 23:16:05Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Lore Commentary Mini-Episode #1 (Channel Members Content)", 1992, false, "QOL8vgkoAFo", "https://www.youtube.com/watch?v=QOL8vgkoAFo", "/downloads/H3 Podcast/2023-05-13 Lore Commentary Mini-Episode #1 (Channel Members Content)/Lore Commentary Mini-Episode #1 (Channel Members Content) [QOL8vgkoAFo].NA", false, 1, ~U[2023-05-13 04:03:52Z]] 11:16:05.429 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=851.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:05.431 [debug] QUERY OK source="media_profiles" db=0.8ms queue=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] 11:16:05.434 [debug] QUERY OK source="media_items" db=1.8ms idle=18.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [44] 11:16:05.435 [debug] Current batch of media processed. Will check again in 1000ms 11:16:06.447 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 623, "filename" => "/downloads/H3 Podcast/2023-05-03 H3 Podcast BTS #47/H3 Podcast BTS #47 [j-f1Ul__4JM].NA", "id" => "j-f1Ul__4JM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=j-f1Ul__4JM", "playlist_index" => 45, "timestamp" => 1683140323, "title" => "H3 Podcast BTS #47", "upload_date" => "20230503"} 11:16:06.459 [debug] QUERY OK source="sources" db=4.6ms queue=1.2ms idle=1023.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:06.466 [debug] QUERY OK source="sources" db=1.5ms queue=0.5ms idle=1032.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:06.472 [debug] QUERY OK source="media_items" db=4.2ms queue=1.2ms idle=1032.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-05-03 18:58:43Z], 1] 11:16:06.483 [debug] QUERY OK source="media_items" db=8.4ms queue=0.1ms idle=940.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #47", "670d4446-08ee-4420-9b7f-d387eb6854aa", 623, false, "j-f1Ul__4JM", "https://www.youtube.com/watch?v=j-f1Ul__4JM", 45, "/downloads/H3 Podcast/2023-05-03 H3 Podcast BTS #47/H3 Podcast BTS #47 [j-f1Ul__4JM].NA", false, false, false, 1, [], 99, ~U[2023-05-03 18:58:43Z], ~U[2026-04-11 23:16:06Z], ~U[2026-04-11 23:16:06Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #47", 623, false, "j-f1Ul__4JM", "https://www.youtube.com/watch?v=j-f1Ul__4JM", "/downloads/H3 Podcast/2023-05-03 H3 Podcast BTS #47/H3 Podcast BTS #47 [j-f1Ul__4JM].NA", false, 1, ~U[2023-05-03 18:58:43Z]] 11:16:06.485 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=940.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:06.486 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=26.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:06.489 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=21.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [45] 11:16:06.489 [debug] Current batch of media processed. Will check again in 1000ms 11:16:07.491 [debug] Current batch of media processed. Will check again in 1000ms 11:16:08.493 [debug] Current batch of media processed. Will check again in 1000ms 11:16:09.504 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "We're kicking off our new revamped lore series with one of the most crucial people on the show - the maestro himself: Zach The Sound Lad! Follow Zach on Instagram at @z_vinyl and Twitter at @zachthesoundlad\nSpecial shoutout to u/WaddlesJr on the subreddit for posting a huge collection of Zach clips on the sub!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\n00:00 Intro\n03:40 Part 1 - Zach Joins The Podcast\n08:37 Part 2 - Zach And The Soundboard\n13:42 Part 3 - Zach Is Joker Brained\n1:16:40 Part 4 - Zach Is A Rock Star\n1:24:10 Part 5 - Zach Is Superstitious\n1:47:24 Part 6 - Zach Is A Legend", "duration" => 7353, "filename" => "/downloads/H3 Podcast/2023-04-18 H3 Lore - Zach The Sound Lad (Mega Compilation 2018-2023)/H3 Lore - Zach The Sound Lad (Mega Compilation 2018-2023) [rlqs8tLt4VU].mp4", "id" => "rlqs8tLt4VU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rlqs8tLt4VU", "playlist_index" => 46, "timestamp" => 1681849993, "title" => "H3 Lore - Zach The Sound Lad (Mega Compilation 2018-2023)", "upload_date" => "20230418"} 11:16:09.508 [debug] QUERY OK source="sources" db=3.0ms queue=0.2ms idle=1961.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:09.511 [debug] QUERY OK source="sources" db=0.8ms queue=0.3ms idle=1961.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:09.518 [debug] QUERY OK source="media_items" db=5.7ms queue=0.1ms idle=1951.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-04-18 20:33:13Z], 1] 11:16:09.531 [debug] QUERY OK source="media_items" db=10.6ms queue=0.1ms idle=964.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["We're kicking off our new revamped lore series with one of the most crucial people on the show - the maestro himself: Zach The Sound Lad! Follow Zach on Instagram at @z_vinyl and Twitter at @zachthesoundlad\nSpecial shoutout to u/WaddlesJr on the subreddit for posting a huge collection of Zach clips on the sub!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\n00:00 Intro\n03:40 Part 1 - Zach Joins The Podcast\n08:37 Part 2 - Zach And The Soundboard\n13:42 Part 3 - Zach Is Joker Brained\n1:16:40 Part 4 - Zach Is A Rock Star\n1:24:10 Part 5 - Zach Is Superstitious\n1:47:24 Part 6 - Zach Is A Legend", "H3 Lore - Zach The Sound Lad (Mega Compilation 2018-2023)", "67bcf362-38b3-4bca-9e39-b2958a85daca", 7353, false, "rlqs8tLt4VU", "https://www.youtube.com/watch?v=rlqs8tLt4VU", 46, "/downloads/H3 Podcast/2023-04-18 H3 Lore - Zach The Sound Lad (Mega Compilation 2018-2023)/H3 Lore - Zach The Sound Lad (Mega Compilation 2018-2023) [rlqs8tLt4VU].mp4", false, false, false, 1, [], 99, ~U[2023-04-18 20:33:13Z], ~U[2026-04-11 23:16:09Z], ~U[2026-04-11 23:16:09Z], "We're kicking off our new revamped lore series with one of the most crucial people on the show - the maestro himself: Zach The Sound Lad! Follow Zach on Instagram at @z_vinyl and Twitter at @zachthesoundlad\nSpecial shoutout to u/WaddlesJr on the subreddit for posting a huge collection of Zach clips on the sub!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\n00:00 Intro\n03:40 Part 1 - Zach Joins The Podcast\n08:37 Part 2 - Zach And The Soundboard\n13:42 Part 3 - Zach Is Joker Brained\n1:16:40 Part 4 - Zach Is A Rock Star\n1:24:10 Part 5 - Zach Is Superstitious\n1:47:24 Part 6 - Zach Is A Legend", "H3 Lore - Zach The Sound Lad (Mega Compilation 2018-2023)", 7353, false, "rlqs8tLt4VU", "https://www.youtube.com/watch?v=rlqs8tLt4VU", "/downloads/H3 Podcast/2023-04-18 H3 Lore - Zach The Sound Lad (Mega Compilation 2018-2023)/H3 Lore - Zach The Sound Lad (Mega Compilation 2018-2023) [rlqs8tLt4VU].mp4", false, 1, ~U[2023-04-18 20:33:13Z]] 11:16:09.533 [debug] QUERY OK source="sources" db=1.7ms queue=0.2ms idle=966.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:09.535 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=26.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:09.538 [debug] QUERY OK source="media_items" db=1.8ms idle=24.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [46] 11:16:09.538 [debug] Current batch of media processed. Will check again in 1000ms 11:16:10.547 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 638, "filename" => "/downloads/H3 Podcast/2023-02-24 H3 Podcast BTS #46/H3 Podcast BTS #46 [tTiNpwHQtFQ].NA", "id" => "tTiNpwHQtFQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tTiNpwHQtFQ", "playlist_index" => 47, "timestamp" => 1677274655, "title" => "H3 Podcast BTS #46", "upload_date" => "20230224"} 11:16:10.549 [debug] QUERY OK source="sources" db=0.8ms queue=0.4ms idle=986.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:10.552 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=980.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:10.558 [debug] QUERY OK source="media_items" db=5.0ms queue=0.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[2023-02-24 21:37:35Z], 1] 11:16:10.566 [debug] QUERY OK source="media_items" db=6.1ms queue=0.1ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #46", "69b151c4-35f4-4ce3-a00b-3153c60a66a6", 638, false, "tTiNpwHQtFQ", "https://www.youtube.com/watch?v=tTiNpwHQtFQ", 47, "/downloads/H3 Podcast/2023-02-24 H3 Podcast BTS #46/H3 Podcast BTS #46 [tTiNpwHQtFQ].NA", false, false, false, 1, [], 99, ~U[2023-02-24 21:37:35Z], ~U[2026-04-11 23:16:10Z], ~U[2026-04-11 23:16:10Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #46", 638, false, "tTiNpwHQtFQ", "https://www.youtube.com/watch?v=tTiNpwHQtFQ", "/downloads/H3 Podcast/2023-02-24 H3 Podcast BTS #46/H3 Podcast BTS #46 [tTiNpwHQtFQ].NA", false, 1, ~U[2023-02-24 21:37:35Z]] 11:16:10.570 [debug] QUERY OK source="sources" db=1.8ms queue=2.3ms idle=17.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:10.574 [debug] QUERY OK source="media_profiles" db=3.0ms queue=0.3ms idle=18.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:10.577 [debug] QUERY OK source="media_items" db=1.8ms idle=17.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 [47] 11:16:10.578 [debug] Current batch of media processed. Will check again in 1000ms 11:16:11.588 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 664, "filename" => "/downloads/H3 Podcast/2023-02-07 H3 Podcast BTS #45/H3 Podcast BTS #45 [Xvctq4vLGZg].NA", "id" => "Xvctq4vLGZg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Xvctq4vLGZg", "playlist_index" => 48, "timestamp" => 1675730989, "title" => "H3 Podcast BTS #45", "upload_date" => "20230207"} 11:16:11.598 [debug] QUERY OK source="sources" db=3.7ms queue=1.9ms idle=1020.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:11.602 [debug] QUERY OK source="sources" db=2.2ms queue=0.6ms 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" = ?) [1] 11:16:11.608 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=1025.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-02-07 00:49:49Z], 1] 11:16:11.635 [debug] QUERY OK source="media_items" db=25.3ms queue=0.1ms idle=11.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #45", "d557fed1-bc17-45cb-aefb-985ae0a1c828", 664, false, "Xvctq4vLGZg", "https://www.youtube.com/watch?v=Xvctq4vLGZg", 48, "/downloads/H3 Podcast/2023-02-07 H3 Podcast BTS #45/H3 Podcast BTS #45 [Xvctq4vLGZg].NA", false, false, false, 1, [], 99, ~U[2023-02-07 00:49:49Z], ~U[2026-04-11 23:16:11Z], ~U[2026-04-11 23:16:11Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #45", 664, false, "Xvctq4vLGZg", "https://www.youtube.com/watch?v=Xvctq4vLGZg", "/downloads/H3 Podcast/2023-02-07 H3 Podcast BTS #45/H3 Podcast BTS #45 [Xvctq4vLGZg].NA", false, 1, ~U[2023-02-07 00:49:49Z]] 11:16:11.638 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=36.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:11.641 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.2ms idle=36.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:11.643 [debug] QUERY OK source="media_items" db=1.2ms idle=33.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 [48] 11:16:11.643 [debug] Current batch of media processed. Will check again in 1000ms 11:16:12.644 [debug] Current batch of media processed. Will check again in 1000ms 11:16:13.648 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Watch the full episode here... https://www.youtube.com/live/lJNBlXTGSWk\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1421, "filename" => "/downloads/H3 Podcast/2023-01-17 Leaked Video of Andrew Tate Confessing to Fraud & Human Trafficking/Leaked Video of Andrew Tate Confessing to Fraud & Human Trafficking [tJNHt8ShbGI].mp4", "id" => "tJNHt8ShbGI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tJNHt8ShbGI", "playlist_index" => 49, "timestamp" => 1673985239, "title" => "Leaked Video of Andrew Tate Confessing to Fraud & Human Trafficking", "upload_date" => "20230117"} 11:16:13.651 [debug] QUERY OK source="sources" db=1.2ms queue=0.3ms idle=96.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:13.654 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=100.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:13.661 [debug] QUERY OK source="media_items" db=5.7ms queue=0.1ms idle=102.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-01-17 19:53:59Z], 1] 11:16:13.668 [debug] QUERY OK source="media_items" db=4.8ms queue=0.2ms idle=43.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch the full episode here... https://www.youtube.com/live/lJNBlXTGSWk\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Leaked Video of Andrew Tate Confessing to Fraud & Human Trafficking", "32c6e675-7960-4a3e-9de3-ca369ad5e50d", 1421, false, "tJNHt8ShbGI", "https://www.youtube.com/watch?v=tJNHt8ShbGI", 49, "/downloads/H3 Podcast/2023-01-17 Leaked Video of Andrew Tate Confessing to Fraud & Human Trafficking/Leaked Video of Andrew Tate Confessing to Fraud & Human Trafficking [tJNHt8ShbGI].mp4", false, false, false, 1, [], 99, ~U[2023-01-17 19:53:59Z], ~U[2026-04-11 23:16:13Z], ~U[2026-04-11 23:16:13Z], "Watch the full episode here... https://www.youtube.com/live/lJNBlXTGSWk\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Leaked Video of Andrew Tate Confessing to Fraud & Human Trafficking", 1421, false, "tJNHt8ShbGI", "https://www.youtube.com/watch?v=tJNHt8ShbGI", "/downloads/H3 Podcast/2023-01-17 Leaked Video of Andrew Tate Confessing to Fraud & Human Trafficking/Leaked Video of Andrew Tate Confessing to Fraud & Human Trafficking [tJNHt8ShbGI].mp4", false, 1, ~U[2023-01-17 19:53:59Z]] 11:16:13.671 [debug] QUERY OK source="sources" db=1.8ms queue=0.2ms idle=39.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:13.673 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=20.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:13.676 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=20.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 [49] 11:16:13.677 [debug] Current batch of media processed. Will check again in 1000ms 11:16:14.685 [debug] Current batch of media processed. Will check again in 1000ms 11:16:15.688 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 711, "filename" => "/downloads/H3 Podcast/2022-12-10 H3 Podcast BTS #44/H3 Podcast BTS #44 [sm5sIlp4bi8].NA", "id" => "sm5sIlp4bi8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sm5sIlp4bi8", "playlist_index" => 50, "timestamp" => 1670634790, "title" => "H3 Podcast BTS #44", "upload_date" => "20221210"} 11:16:15.692 [debug] QUERY OK source="sources" db=1.6ms queue=0.2ms idle=131.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:15.695 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=134.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:15.701 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=136.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-12-10 01:13:10Z], 1] 11:16:15.713 [debug] QUERY OK source="media_items" db=9.6ms queue=0.1ms idle=52.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #44", "1e2e2a45-d941-4fcb-8865-6169f9d26ff9", 711, false, "sm5sIlp4bi8", "https://www.youtube.com/watch?v=sm5sIlp4bi8", 50, "/downloads/H3 Podcast/2022-12-10 H3 Podcast BTS #44/H3 Podcast BTS #44 [sm5sIlp4bi8].NA", false, false, false, 1, [], 99, ~U[2022-12-10 01:13:10Z], ~U[2026-04-11 23:16:15Z], ~U[2026-04-11 23:16:15Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #44", 711, false, "sm5sIlp4bi8", "https://www.youtube.com/watch?v=sm5sIlp4bi8", "/downloads/H3 Podcast/2022-12-10 H3 Podcast BTS #44/H3 Podcast BTS #44 [sm5sIlp4bi8].NA", false, 1, ~U[2022-12-10 01:13:10Z]] 11:16:15.716 [debug] QUERY OK source="sources" db=2.3ms queue=0.2ms idle=46.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:15.718 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=24.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:15.723 [debug] QUERY OK source="media_items" db=2.6ms idle=24.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [50] 11:16:15.724 [debug] Current batch of media processed. Will check again in 1000ms 11:16:16.750 [debug] Current batch of media processed. Will check again in 1000ms 11:16:17.754 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://stamps.com/H3 (use code: H3) for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6366, "filename" => "/downloads/H3 Podcast/2022-12-07 We Play Silent Library 2 And Regret It/We Play Silent Library 2 And Regret It [yuFRPrkB5lU].mp4", "id" => "yuFRPrkB5lU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yuFRPrkB5lU", "playlist_index" => 51, "timestamp" => 1670444029, "title" => "We Play Silent Library 2 And Regret It", "upload_date" => "20221207"} 11:16:17.758 [debug] QUERY OK source="sources" db=2.2ms queue=0.4ms idle=990.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:17.761 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=987.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:17.770 [debug] QUERY OK source="media_items" db=7.5ms queue=0.1ms idle=201.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-12-07 20:13:49Z], 1] 11:16:17.779 [debug] QUERY OK source="media_items" db=7.3ms queue=0.1ms idle=210.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://stamps.com/H3 (use code: H3) for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Play Silent Library 2 And Regret It", "9d70b874-b1a9-43c3-b405-a19af9dd1dba", 6366, false, "yuFRPrkB5lU", "https://www.youtube.com/watch?v=yuFRPrkB5lU", 51, "/downloads/H3 Podcast/2022-12-07 We Play Silent Library 2 And Regret It/We Play Silent Library 2 And Regret It [yuFRPrkB5lU].mp4", false, false, false, 1, [], 99, ~U[2022-12-07 20:13:49Z], ~U[2026-04-11 23:16:17Z], ~U[2026-04-11 23:16:17Z], "Thank you to http://stamps.com/H3 (use code: H3) for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Play Silent Library 2 And Regret It", 6366, false, "yuFRPrkB5lU", "https://www.youtube.com/watch?v=yuFRPrkB5lU", "/downloads/H3 Podcast/2022-12-07 We Play Silent Library 2 And Regret It/We Play Silent Library 2 And Regret It [yuFRPrkB5lU].mp4", false, 1, ~U[2022-12-07 20:13:49Z]] 11:16:17.781 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=18.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:17.784 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=13.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:17.789 [debug] QUERY OK source="media_items" db=3.6ms queue=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 [51] 11:16:17.790 [debug] Current batch of media processed. Will check again in 1000ms 11:16:18.792 [debug] Current batch of media processed. Will check again in 1000ms 11:16:19.794 [debug] Current batch of media processed. Will check again in 1000ms 11:16:20.800 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://gamersupps.gg/H3 for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7827, "filename" => "/downloads/H3 Podcast/2022-11-25 You Laugh, You Eat! (Disgusting Thanksgiving Dishes) - After Dark #91/You Laugh, You Eat! (Disgusting Thanksgiving Dishes) - After Dark #91 [lUP64bI7INk].mp4", "id" => "lUP64bI7INk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lUP64bI7INk", "playlist_index" => 52, "timestamp" => 1669401711, "title" => "You Laugh, You Eat! (Disgusting Thanksgiving Dishes) - After Dark #91", "upload_date" => "20221125"} 11:16:20.813 [debug] QUERY OK source="sources" db=8.0ms queue=2.2ms idle=1229.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:20.820 [debug] QUERY OK source="sources" db=1.8ms queue=0.4ms 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" = ?) [1] 11:16:20.835 [debug] QUERY OK source="media_items" db=12.7ms queue=0.8ms idle=1029.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-11-25 18:41:51Z], 1] 11:16:20.850 [debug] QUERY OK source="media_items" db=10.8ms queue=0.5ms idle=25.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://gamersupps.gg/H3 for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You Eat! (Disgusting Thanksgiving Dishes) - After Dark #91", "de79fbd1-aa59-4533-a273-566e18848613", 7827, false, "lUP64bI7INk", "https://www.youtube.com/watch?v=lUP64bI7INk", 52, "/downloads/H3 Podcast/2022-11-25 You Laugh, You Eat! (Disgusting Thanksgiving Dishes) - After Dark #91/You Laugh, You Eat! (Disgusting Thanksgiving Dishes) - After Dark #91 [lUP64bI7INk].mp4", false, false, false, 1, [], 99, ~U[2022-11-25 18:41:51Z], ~U[2026-04-11 23:16:20Z], ~U[2026-04-11 23:16:20Z], "Thank you to http://gamersupps.gg/H3 for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You Eat! (Disgusting Thanksgiving Dishes) - After Dark #91", 7827, false, "lUP64bI7INk", "https://www.youtube.com/watch?v=lUP64bI7INk", "/downloads/H3 Podcast/2022-11-25 You Laugh, You Eat! (Disgusting Thanksgiving Dishes) - After Dark #91/You Laugh, You Eat! (Disgusting Thanksgiving Dishes) - After Dark #91 [lUP64bI7INk].mp4", false, 1, ~U[2022-11-25 18:41:51Z]] 11:16:20.853 [debug] QUERY OK source="sources" db=1.4ms queue=0.3ms 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" = ?) [1] 11:16:20.857 [debug] QUERY OK source="media_profiles" db=2.0ms queue=1.1ms idle=33.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:20.860 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms 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 [52] 11:16:20.860 [debug] Current batch of media processed. Will check again in 1000ms 11:16:21.868 [debug] Current batch of media processed. Will check again in 1000ms 11:16:22.570 [info] GET /sources 11:16:22.572 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 11:16:22.597 [debug] QUERY OK source="settings" db=15.3ms queue=0.1ms idle=1728.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:16:22.599 [debug] QUERY OK source="settings" db=0.4ms idle=761.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:16:22.605 [debug] QUERY OK source="settings" db=0.3ms idle=760.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:16:22.612 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=28.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:16:22.614 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=30.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:16:22.634 [debug] QUERY OK source="sources" db=6.0ms queue=6.0ms idle=24.4ms 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)) [] 11:16:22.642 [debug] QUERY OK source="sources" db=3.6ms queue=2.1ms idle=37.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 11:16:22.663 [info] Sent 200 in 93ms 11:16:22.871 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "@penguinz0 im sorry bro it aint your fault we love you gerd brothers for life\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 9690, "filename" => "/downloads/H3 Podcast/2022-11-24 MoistCr1TiKaL, I didn't want to go to war, but... - Off The Rails #55/MoistCr1TiKaL, I didn't want to go to war, but... - Off The Rails #55 [wLZaQAqSdNI].mp4", "id" => "wLZaQAqSdNI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wLZaQAqSdNI", "playlist_index" => 53, "timestamp" => 1669251559, "title" => "MoistCr1TiKaL, I didn't want to go to war, but... - Off The Rails #55", "upload_date" => "20221124"} 11:16:22.874 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=257.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:22.879 [debug] QUERY OK source="sources" db=1.8ms queue=0.8ms idle=242.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:22.880 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=237.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-11-24 00:59:19Z], 1] 11:16:22.947 [debug] QUERY OK source="media_items" db=65.8ms idle=29.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["@penguinz0 im sorry bro it aint your fault we love you gerd brothers for life\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "MoistCr1TiKaL, I didn't want to go to war, but... - Off The Rails #55", "42b66790-2095-435a-b16b-731a2ad057a3", 9690, false, "wLZaQAqSdNI", "https://www.youtube.com/watch?v=wLZaQAqSdNI", 53, "/downloads/H3 Podcast/2022-11-24 MoistCr1TiKaL, I didn't want to go to war, but... - Off The Rails #55/MoistCr1TiKaL, I didn't want to go to war, but... - Off The Rails #55 [wLZaQAqSdNI].mp4", false, false, false, 1, [], 99, ~U[2022-11-24 00:59:19Z], ~U[2026-04-11 23:16:22Z], ~U[2026-04-11 23:16:22Z], "@penguinz0 im sorry bro it aint your fault we love you gerd brothers for life\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "MoistCr1TiKaL, I didn't want to go to war, but... - Off The Rails #55", 9690, false, "wLZaQAqSdNI", "https://www.youtube.com/watch?v=wLZaQAqSdNI", "/downloads/H3 Podcast/2022-11-24 MoistCr1TiKaL, I didn't want to go to war, but... - Off The Rails #55/MoistCr1TiKaL, I didn't want to go to war, but... - Off The Rails #55 [wLZaQAqSdNI].mp4", false, 1, ~U[2022-11-24 00:59:19Z]] 11:16:22.950 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms 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" = ?) [1] 11:16:22.952 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=77.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:22.954 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=73.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 [53] 11:16:22.954 [debug] Current batch of media processed. Will check again in 1000ms 11:16:23.035 [info] CONNECTED TO Phoenix.LiveView.Socket in 166µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABs4EGcKHxNgXApMPj0UIjMsQmdvNycNqmmaSreb5jOuXL_utAu18YaU", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:16:23.046 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 11:16:23.049 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=167.3ms 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)) [] 11:16:23.055 [debug] QUERY OK source="sources" db=4.7ms 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", 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] 11:16:23.056 [debug] Replied in 9ms 11:16:23.060 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:16:23.060 [debug] Replied in 286µs 11:16:23.967 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 636, "filename" => "/downloads/H3 Podcast/2022-11-04 H3 Podcast BTS #42/H3 Podcast BTS #42 [ornrCipTHyg].NA", "id" => "ornrCipTHyg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ornrCipTHyg", "playlist_index" => 54, "timestamp" => 1667593118, "title" => "H3 Podcast BTS #42", "upload_date" => "20221104"} 11:16:23.974 [debug] QUERY OK source="sources" db=3.5ms queue=1.0ms idle=1014.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:23.984 [debug] QUERY OK source="sources" db=2.6ms queue=0.8ms idle=930.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:23.991 [debug] QUERY OK source="media_items" db=2.6ms queue=2.1ms idle=930.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-11-04 20:18:38Z], 1] 11:16:24.026 [debug] QUERY OK source="media_items" db=31.4ms queue=0.3ms idle=135.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #42", "5ec0b9ba-af50-4835-97cd-43d5b510a4ca", 636, false, "ornrCipTHyg", "https://www.youtube.com/watch?v=ornrCipTHyg", 54, "/downloads/H3 Podcast/2022-11-04 H3 Podcast BTS #42/H3 Podcast BTS #42 [ornrCipTHyg].NA", false, false, false, 1, [], 99, ~U[2022-11-04 20:18:38Z], ~U[2026-04-11 23:16:23Z], ~U[2026-04-11 23:16:23Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "H3 Podcast BTS #42", 636, false, "ornrCipTHyg", "https://www.youtube.com/watch?v=ornrCipTHyg", "/downloads/H3 Podcast/2022-11-04 H3 Podcast BTS #42/H3 Podcast BTS #42 [ornrCipTHyg].NA", false, 1, ~U[2022-11-04 20:18:38Z]] 11:16:24.030 [debug] QUERY OK source="sources" db=3.0ms queue=0.2ms idle=160.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:24.032 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=57.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:24.035 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=49.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 [54] 11:16:24.035 [debug] Current batch of media processed. Will check again in 1000ms 11:16:25.038 [debug] Current batch of media processed. Will check again in 1000ms 11:16:26.048 [debug] Current batch of media processed. Will check again in 1000ms 11:16:27.063 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Andrew of @Channel5YouTube joining us! Check out Andrew on tour at http://channel5.news\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7129, "filename" => "/downloads/H3 Podcast/2022-11-03 Andrew Callaghan Of Channel 5 - Leftovers #30/Andrew Callaghan Of Channel 5 - Leftovers #30 [aoh2W_WiuN4].mp4", "id" => "aoh2W_WiuN4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aoh2W_WiuN4", "playlist_index" => 55, "timestamp" => 1667503177, "title" => "Andrew Callaghan Of Channel 5 - Leftovers #30", "upload_date" => "20221103"} 11:16:27.072 [debug] QUERY OK source="sources" db=3.6ms queue=1.1ms idle=1475.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:27.080 [debug] QUERY OK source="sources" db=2.2ms queue=0.4ms idle=1195.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:27.086 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=1191.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-11-03 19:19:37Z], 1] 11:16:27.095 [debug] QUERY OK source="media_items" db=7.4ms queue=0.1ms idle=174.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Andrew of @Channel5YouTube joining us! Check out Andrew on tour at http://channel5.news\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Andrew Callaghan Of Channel 5 - Leftovers #30", "b6fa5d39-68dd-44f2-a7fe-5a1a4eac719f", 7129, false, "aoh2W_WiuN4", "https://www.youtube.com/watch?v=aoh2W_WiuN4", 55, "/downloads/H3 Podcast/2022-11-03 Andrew Callaghan Of Channel 5 - Leftovers #30/Andrew Callaghan Of Channel 5 - Leftovers #30 [aoh2W_WiuN4].mp4", false, false, false, 1, [], 99, ~U[2022-11-03 19:19:37Z], ~U[2026-04-11 23:16:27Z], ~U[2026-04-11 23:16:27Z], "Thank you to Andrew of @Channel5YouTube joining us! Check out Andrew on tour at http://channel5.news\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Andrew Callaghan Of Channel 5 - Leftovers #30", 7129, false, "aoh2W_WiuN4", "https://www.youtube.com/watch?v=aoh2W_WiuN4", "/downloads/H3 Podcast/2022-11-03 Andrew Callaghan Of Channel 5 - Leftovers #30/Andrew Callaghan Of Channel 5 - Leftovers #30 [aoh2W_WiuN4].mp4", false, 1, ~U[2022-11-03 19:19:37Z]] 11:16:27.099 [debug] QUERY OK source="sources" db=3.0ms queue=0.2ms idle=168.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:27.101 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms 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] 11:16:27.104 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=22.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 [55] 11:16:27.104 [debug] Current batch of media processed. Will check again in 1000ms 11:16:27.404 [info] GET / 11:16:27.404 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:16:27.408 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=320.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:16:27.411 [debug] QUERY OK source="media_profiles" db=0.9ms queue=1.2ms idle=314.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:16:27.413 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms idle=312.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:16:27.414 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=312.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:16:27.416 [debug] QUERY OK source="media_items" db=1.2ms queue=0.4ms idle=310.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:16:27.418 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:16:27.419 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:16:27.421 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:16:27.427 [debug] QUERY OK source="tasks" db=2.5ms idle=9.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:16:27.428 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=10.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:27.433 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=13.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:16:27.434 [debug] QUERY OK source="media_items" db=1.3ms idle=13.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:16:27.436 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=14.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:16:27.439 [debug] QUERY OK source="media_items" db=1.7ms idle=10.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:16:27.441 [info] Sent 200 in 37ms 11:16:27.663 [info] CONNECTED TO Phoenix.LiveView.Socket in 108µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "PSlnPnwWKkkeYDRsMwg5JxM5UgBmWxUNL_2OHnP8KVqUUyrpTTeV15SU", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:16:27.699 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:16:27.702 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=273.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:16:27.706 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=270.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:16:27.706 [debug] Replied in 6ms 11:16:27.711 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:16:27.727 [debug] QUERY OK source="media_items" db=14.9ms queue=0.1ms idle=277.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:16:27.732 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=291.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:16:27.732 [debug] Replied in 20ms 11:16:27.735 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:16:27.738 [debug] QUERY OK source="tasks" db=1.7ms queue=0.1ms idle=297.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:16:27.744 [debug] QUERY OK source="sources" db=4.9ms queue=0.1ms idle=36.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:27.744 [debug] Replied in 8ms 11:16:27.749 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:16:27.750 [debug] Replied in 260µs 11:16:28.105 [debug] Current batch of media processed. Will check again in 1000ms 11:16:29.108 [debug] Current batch of media processed. Will check again in 1000ms 11:16:30.114 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://stamps.com/h3tv & http://gamersupps.gg/h3 (use code: h3) for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\n0:00 Intro\n1:30 Costumes\n14:30 Birthday Teddy Fresh \n19:50 Streamy Awards \n45:00 MAGA Jimmie Lee \n1:29:50 jordan peterson \n1:38:00 Andrew Tate talks about Ethan\n1:56:00 Candy tier list update", "duration" => 9087, "filename" => "/downloads/H3 Podcast/2022-10-31 WE’RE BACK!! Banned For A Week & Candy Tier List - H3TV #55/WE’RE BACK!! Banned For A Week & Candy Tier List - H3TV #55 [AlcD8_dyVvQ].mp4", "id" => "AlcD8_dyVvQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AlcD8_dyVvQ", "playlist_index" => 56, "timestamp" => 1667235608, "title" => "WE’RE BACK!! Banned For A Week & Candy Tier List - H3TV #55", "upload_date" => "20221031"} 11:16:30.120 [debug] QUERY OK source="sources" db=5.4ms queue=0.2ms idle=506.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:30.124 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=512.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:30.127 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=515.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-31 17:00:08Z], 1] 11:16:30.137 [debug] QUERY OK source="media_items" db=7.9ms idle=171.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://stamps.com/h3tv & http://gamersupps.gg/h3 (use code: h3) for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\n0:00 Intro\n1:30 Costumes\n14:30 Birthday Teddy Fresh \n19:50 Streamy Awards \n45:00 MAGA Jimmie Lee \n1:29:50 jordan peterson \n1:38:00 Andrew Tate talks about Ethan\n1:56:00 Candy tier list update", "WE’RE BACK!! Banned For A Week & Candy Tier List - H3TV #55", "f1429e5e-7519-44bf-b018-3fd6e89a60c4", 9087, false, "AlcD8_dyVvQ", "https://www.youtube.com/watch?v=AlcD8_dyVvQ", 56, "/downloads/H3 Podcast/2022-10-31 WE’RE BACK!! Banned For A Week & Candy Tier List - H3TV #55/WE’RE BACK!! Banned For A Week & Candy Tier List - H3TV #55 [AlcD8_dyVvQ].mp4", false, false, false, 1, [], 99, ~U[2022-10-31 17:00:08Z], ~U[2026-04-11 23:16:30Z], ~U[2026-04-11 23:16:30Z], "Thank you to http://stamps.com/h3tv & http://gamersupps.gg/h3 (use code: h3) for sponsoring this episode!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh\n\n0:00 Intro\n1:30 Costumes\n14:30 Birthday Teddy Fresh \n19:50 Streamy Awards \n45:00 MAGA Jimmie Lee \n1:29:50 jordan peterson \n1:38:00 Andrew Tate talks about Ethan\n1:56:00 Candy tier list update", "WE’RE BACK!! Banned For A Week & Candy Tier List - H3TV #55", 9087, false, "AlcD8_dyVvQ", "https://www.youtube.com/watch?v=AlcD8_dyVvQ", "/downloads/H3 Podcast/2022-10-31 WE’RE BACK!! Banned For A Week & Candy Tier List - H3TV #55/WE’RE BACK!! Banned For A Week & Candy Tier List - H3TV #55 [AlcD8_dyVvQ].mp4", false, 1, ~U[2022-10-31 17:00:08Z]] 11:16:30.140 [debug] QUERY OK source="sources" db=2.8ms queue=0.2ms 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" = ?) [1] 11:16:30.143 [debug] QUERY OK source="media_profiles" db=2.2ms queue=0.1ms idle=20.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:30.147 [debug] QUERY OK source="media_items" db=2.1ms queue=1.2ms idle=19.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 11:16:30.149 [debug] Current batch of media processed. Will check again in 1000ms 11:16:31.151 [debug] Current batch of media processed. Will check again in 1000ms 11:16:32.164 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Linda The Ghost Hunter (@lindatheghosthunter) & Zachariah The Witch (@zachariahthewitch) \nShoutout to RIPTIDE for the SPOOKY H3 Podcast Theme! https://youtu.be/Wvu1hRe21kE\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2816, "filename" => "/downloads/H3 Podcast/2022-10-29 Angering Ghosts At The Most Haunted Place In America - Halloween Special/Angering Ghosts At The Most Haunted Place In America - Halloween Special [2ddZ71IAjE4].mp4", "id" => "2ddZ71IAjE4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2ddZ71IAjE4", "playlist_index" => 57, "timestamp" => 1667079024, "title" => "Angering Ghosts At The Most Haunted Place In America - Halloween Special", "upload_date" => "20221029"} 11:16:32.173 [debug] QUERY OK source="sources" db=3.5ms queue=0.5ms idle=551.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:32.181 [debug] QUERY OK source="sources" db=2.2ms queue=0.7ms idle=561.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:32.191 [debug] QUERY OK source="media_items" db=9.3ms queue=0.1ms idle=565.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-29 21:30:24Z], 1] 11:16:32.227 [debug] QUERY OK source="media_items" db=33.0ms queue=0.1ms idle=209.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Linda The Ghost Hunter (@lindatheghosthunter) & Zachariah The Witch (@zachariahthewitch) \nShoutout to RIPTIDE for the SPOOKY H3 Podcast Theme! https://youtu.be/Wvu1hRe21kE\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Angering Ghosts At The Most Haunted Place In America - Halloween Special", "9f868075-7ca6-4888-b8e1-cbbdd8b91d4e", 2816, false, "2ddZ71IAjE4", "https://www.youtube.com/watch?v=2ddZ71IAjE4", 57, "/downloads/H3 Podcast/2022-10-29 Angering Ghosts At The Most Haunted Place In America - Halloween Special/Angering Ghosts At The Most Haunted Place In America - Halloween Special [2ddZ71IAjE4].mp4", false, false, false, 1, [], 99, ~U[2022-10-29 21:30:24Z], ~U[2026-04-11 23:16:32Z], ~U[2026-04-11 23:16:32Z], "Thank you to Linda The Ghost Hunter (@lindatheghosthunter) & Zachariah The Witch (@zachariahthewitch) \nShoutout to RIPTIDE for the SPOOKY H3 Podcast Theme! https://youtu.be/Wvu1hRe21kE\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Angering Ghosts At The Most Haunted Place In America - Halloween Special", 2816, false, "2ddZ71IAjE4", "https://www.youtube.com/watch?v=2ddZ71IAjE4", "/downloads/H3 Podcast/2022-10-29 Angering Ghosts At The Most Haunted Place In America - Halloween Special/Angering Ghosts At The Most Haunted Place In America - Halloween Special [2ddZ71IAjE4].mp4", false, 1, ~U[2022-10-29 21:30:24Z]] 11:16:32.229 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=236.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:32.232 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.2ms idle=57.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:32.234 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=51.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 [57] 11:16:32.235 [debug] Current batch of media processed. Will check again in 1000ms 11:16:33.243 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3013, "filename" => "/downloads/H3 Podcast/2022-10-18 (Members) Motivational Speech From Ethan - See You Next Tuesday #4/(Members) Motivational Speech From Ethan - See You Next Tuesday #4 [RxYx5vIfX6k].NA", "id" => "RxYx5vIfX6k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RxYx5vIfX6k", "playlist_index" => 58, "timestamp" => 1666055986, "title" => "(Members) Motivational Speech From Ethan - See You Next Tuesday #4", "upload_date" => "20221018"} 11:16:33.251 [debug] QUERY OK source="sources" db=2.8ms queue=1.3ms idle=1017.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:33.263 [debug] QUERY OK source="sources" db=5.6ms queue=0.9ms idle=1023.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:33.267 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=1029.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-18 01:19:46Z], 1] 11:16:33.278 [debug] QUERY OK source="media_items" db=8.6ms queue=0.1ms idle=275.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Motivational Speech From Ethan - See You Next Tuesday #4", "23af6dc3-3dcd-4c29-b78e-697b340eb7c0", 3013, false, "RxYx5vIfX6k", "https://www.youtube.com/watch?v=RxYx5vIfX6k", 58, "/downloads/H3 Podcast/2022-10-18 (Members) Motivational Speech From Ethan - See You Next Tuesday #4/(Members) Motivational Speech From Ethan - See You Next Tuesday #4 [RxYx5vIfX6k].NA", false, false, false, 1, [], 99, ~U[2022-10-18 01:19:46Z], ~U[2026-04-11 23:16:33Z], ~U[2026-04-11 23:16:33Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Motivational Speech From Ethan - See You Next Tuesday #4", 3013, false, "RxYx5vIfX6k", "https://www.youtube.com/watch?v=RxYx5vIfX6k", "/downloads/H3 Podcast/2022-10-18 (Members) Motivational Speech From Ethan - See You Next Tuesday #4/(Members) Motivational Speech From Ethan - See You Next Tuesday #4 [RxYx5vIfX6k].NA", false, 1, ~U[2022-10-18 01:19:46Z]] 11:16:33.281 [debug] QUERY OK source="sources" db=1.7ms queue=0.2ms idle=277.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:33.282 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=30.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:33.285 [debug] QUERY OK source="media_items" db=1.8ms idle=21.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [58] 11:16:33.285 [debug] Current batch of media processed. Will check again in 1000ms 11:16:34.297 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 622, "filename" => "/downloads/H3 Podcast/2022-10-15 (Members) H3 Podcast BTS #41/(Members) H3 Podcast BTS #41 [qaVLmpLqu1k].NA", "id" => "qaVLmpLqu1k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qaVLmpLqu1k", "playlist_index" => 59, "timestamp" => 1665792595, "title" => "(Members) H3 Podcast BTS #41", "upload_date" => "20221015"} 11:16:34.299 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1016.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:34.301 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1017.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:34.304 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=1016.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-15 00:09:55Z], 1] 11:16:34.313 [debug] QUERY OK source="media_items" db=7.4ms queue=0.1ms idle=302.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #41", "bc382761-ec38-4503-89d5-7127fea4181a", 622, false, "qaVLmpLqu1k", "https://www.youtube.com/watch?v=qaVLmpLqu1k", 59, "/downloads/H3 Podcast/2022-10-15 (Members) H3 Podcast BTS #41/(Members) H3 Podcast BTS #41 [qaVLmpLqu1k].NA", false, false, false, 1, [], 99, ~U[2022-10-15 00:09:55Z], ~U[2026-04-11 23:16:34Z], ~U[2026-04-11 23:16:34Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #41", 622, false, "qaVLmpLqu1k", "https://www.youtube.com/watch?v=qaVLmpLqu1k", "/downloads/H3 Podcast/2022-10-15 (Members) H3 Podcast BTS #41/(Members) H3 Podcast BTS #41 [qaVLmpLqu1k].NA", false, 1, ~U[2022-10-15 00:09:55Z]] 11:16:34.316 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=303.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:34.318 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=17.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:34.320 [debug] QUERY OK source="media_items" db=1.6ms idle=17.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [59] 11:16:34.320 [debug] Current batch of media processed. Will check again in 1000ms 11:16:34.588 [info] {"source":"oban","duration":9720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:35.329 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2631, "filename" => "/downloads/H3 Podcast/2022-10-11 (Members) Our Favorite Shows - See You Next Tuesday #3/(Members) Our Favorite Shows - See You Next Tuesday #3 [i788tVsN4zE].NA", "id" => "i788tVsN4zE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i788tVsN4zE", "playlist_index" => 60, "timestamp" => 1665513119, "title" => "(Members) Our Favorite Shows - See You Next Tuesday #3", "upload_date" => "20221011"} 11:16:35.331 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms idle=1012.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:35.333 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1011.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:35.335 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=746.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-11 18:31:59Z], 1] 11:16:35.342 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=326.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Our Favorite Shows - See You Next Tuesday #3", "b2518b60-3d22-4233-96a2-434d7ee85aaf", 2631, false, "i788tVsN4zE", "https://www.youtube.com/watch?v=i788tVsN4zE", 60, "/downloads/H3 Podcast/2022-10-11 (Members) Our Favorite Shows - See You Next Tuesday #3/(Members) Our Favorite Shows - See You Next Tuesday #3 [i788tVsN4zE].NA", false, false, false, 1, [], 99, ~U[2022-10-11 18:31:59Z], ~U[2026-04-11 23:16:35Z], ~U[2026-04-11 23:16:35Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Our Favorite Shows - See You Next Tuesday #3", 2631, false, "i788tVsN4zE", "https://www.youtube.com/watch?v=i788tVsN4zE", "/downloads/H3 Podcast/2022-10-11 (Members) Our Favorite Shows - See You Next Tuesday #3/(Members) Our Favorite Shows - See You Next Tuesday #3 [i788tVsN4zE].NA", false, 1, ~U[2022-10-11 18:31:59Z]] 11:16:35.344 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=323.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:35.345 [debug] QUERY OK source="media_profiles" db=0.6ms queue=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] 11:16:35.348 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=13.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [60] 11:16:35.348 [debug] Current batch of media processed. Will check again in 1000ms 11:16:36.349 [debug] Current batch of media processed. Will check again in 1000ms 11:16:37.351 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 857, "filename" => "/downloads/H3 Podcast/2022-10-08 (Members) H3 Podcast BTS #40/(Members) H3 Podcast BTS #40 [Efzp-Ad_b44].NA", "id" => "Efzp-Ad_b44", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Efzp-Ad_b44", "playlist_index" => 61, "timestamp" => 1665187571, "title" => "(Members) H3 Podcast BTS #40", "upload_date" => "20221008"} 11:16:37.355 [debug] QUERY OK source="sources" db=1.4ms queue=0.3ms idle=715.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:37.359 [debug] QUERY OK source="sources" db=1.3ms queue=1.8ms idle=717.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:37.364 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=720.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-08 00:06:11Z], 1] 11:16:37.376 [debug] QUERY OK source="media_items" db=9.0ms queue=0.2ms idle=334.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #40", "2ec57743-e1e3-4bdf-8b80-ff9f1c7ff31a", 857, false, "Efzp-Ad_b44", "https://www.youtube.com/watch?v=Efzp-Ad_b44", 61, "/downloads/H3 Podcast/2022-10-08 (Members) H3 Podcast BTS #40/(Members) H3 Podcast BTS #40 [Efzp-Ad_b44].NA", false, false, false, 1, [], 99, ~U[2022-10-08 00:06:11Z], ~U[2026-04-11 23:16:37Z], ~U[2026-04-11 23:16:37Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #40", 857, false, "Efzp-Ad_b44", "https://www.youtube.com/watch?v=Efzp-Ad_b44", "/downloads/H3 Podcast/2022-10-08 (Members) H3 Podcast BTS #40/(Members) H3 Podcast BTS #40 [Efzp-Ad_b44].NA", false, 1, ~U[2022-10-08 00:06:11Z]] 11:16:37.380 [debug] QUERY OK source="sources" db=1.8ms queue=0.2ms idle=332.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:37.383 [debug] QUERY OK source="media_profiles" db=2.2ms queue=0.1ms idle=26.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:37.387 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=25.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 [61] 11:16:37.389 [debug] Current batch of media processed. Will check again in 1000ms 11:16:38.398 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3889, "filename" => "/downloads/H3 Podcast/2022-10-04 (Members) Our 10 Year Anniversary From Hawaii - See You Next Tuesday #2/(Members) Our 10 Year Anniversary From Hawaii - See You Next Tuesday #2 [gqrqJ6saI4s].NA", "id" => "gqrqJ6saI4s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gqrqJ6saI4s", "playlist_index" => 62, "timestamp" => 1664908468, "title" => "(Members) Our 10 Year Anniversary From Hawaii - See You Next Tuesday #2", "upload_date" => "20221004"} 11:16:38.408 [debug] QUERY OK source="sources" db=5.4ms queue=0.7ms idle=1021.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:38.418 [debug] QUERY OK source="sources" db=3.3ms queue=1.3ms idle=1029.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:38.424 [debug] QUERY OK source="media_items" db=3.0ms queue=0.4ms idle=1032.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-04 18:34:28Z], 1] 11:16:38.431 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=360.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Our 10 Year Anniversary From Hawaii - See You Next Tuesday #2", "7a4bfaa2-40e6-414b-816a-b35e252b3374", 3889, false, "gqrqJ6saI4s", "https://www.youtube.com/watch?v=gqrqJ6saI4s", 62, "/downloads/H3 Podcast/2022-10-04 (Members) Our 10 Year Anniversary From Hawaii - See You Next Tuesday #2/(Members) Our 10 Year Anniversary From Hawaii - See You Next Tuesday #2 [gqrqJ6saI4s].NA", false, false, false, 1, [], 99, ~U[2022-10-04 18:34:28Z], ~U[2026-04-11 23:16:38Z], ~U[2026-04-11 23:16:38Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Our 10 Year Anniversary From Hawaii - See You Next Tuesday #2", 3889, false, "gqrqJ6saI4s", "https://www.youtube.com/watch?v=gqrqJ6saI4s", "/downloads/H3 Podcast/2022-10-04 (Members) Our 10 Year Anniversary From Hawaii - See You Next Tuesday #2/(Members) Our 10 Year Anniversary From Hawaii - See You Next Tuesday #2 [gqrqJ6saI4s].NA", false, 1, ~U[2022-10-04 18:34:28Z]] 11:16:38.433 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=346.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:38.435 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=26.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:38.437 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=18.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [62] 11:16:38.438 [debug] Current batch of media processed. Will check again in 1000ms 11:16:39.443 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 708, "filename" => "/downloads/H3 Podcast/2022-09-30 (Members) H3 Podcast BTS #39/(Members) H3 Podcast BTS #39 [vvcoDId7xmQ].NA", "id" => "vvcoDId7xmQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vvcoDId7xmQ", "playlist_index" => 63, "timestamp" => 1664560914, "title" => "(Members) H3 Podcast BTS #39", "upload_date" => "20220930"} 11:16:39.451 [debug] QUERY OK source="sources" db=2.6ms queue=1.6ms idle=1012.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:39.459 [debug] QUERY OK source="sources" db=3.4ms queue=1.0ms idle=1019.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:39.465 [debug] QUERY OK source="media_items" db=3.4ms queue=0.2ms idle=1023.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-09-30 18:01:54Z], 1] 11:16:39.476 [debug] QUERY OK source="media_items" db=7.5ms queue=0.2ms idle=387.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #39", "facfcfa4-2e63-4f6d-891b-9231ea1a62e1", 708, false, "vvcoDId7xmQ", "https://www.youtube.com/watch?v=vvcoDId7xmQ", 63, "/downloads/H3 Podcast/2022-09-30 (Members) H3 Podcast BTS #39/(Members) H3 Podcast BTS #39 [vvcoDId7xmQ].NA", false, false, false, 1, [], 99, ~U[2022-09-30 18:01:54Z], ~U[2026-04-11 23:16:39Z], ~U[2026-04-11 23:16:39Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #39", 708, false, "vvcoDId7xmQ", "https://www.youtube.com/watch?v=vvcoDId7xmQ", "/downloads/H3 Podcast/2022-09-30 (Members) H3 Podcast BTS #39/(Members) H3 Podcast BTS #39 [vvcoDId7xmQ].NA", false, 1, ~U[2022-09-30 18:01:54Z]] 11:16:39.477 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=387.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:39.479 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=27.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:39.481 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=20.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 [63] 11:16:39.481 [debug] Current batch of media processed. Will check again in 1000ms 11:16:40.494 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 789, "filename" => "/downloads/H3 Podcast/2022-09-12 (Members) H3 Podcast BTS #37/(Members) H3 Podcast BTS #37 [MzwoOX5Guck].NA", "id" => "MzwoOX5Guck", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MzwoOX5Guck", "playlist_index" => 64, "timestamp" => 1663010919, "title" => "(Members) H3 Podcast BTS #37", "upload_date" => "20220912"} 11:16:40.505 [debug] QUERY OK source="sources" db=4.1ms queue=1.3ms idle=1020.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:40.514 [debug] QUERY OK source="sources" db=3.5ms queue=0.8ms idle=1029.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:40.523 [debug] QUERY OK source="media_items" db=5.4ms queue=0.9ms idle=1035.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-09-12 19:28:39Z], 1] 11:16:40.537 [debug] QUERY OK source="media_items" db=9.2ms queue=0.2ms idle=432.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #37", "cae621d2-9d48-439b-a104-bc61fa2920f5", 789, false, "MzwoOX5Guck", "https://www.youtube.com/watch?v=MzwoOX5Guck", 64, "/downloads/H3 Podcast/2022-09-12 (Members) H3 Podcast BTS #37/(Members) H3 Podcast BTS #37 [MzwoOX5Guck].NA", false, false, false, 1, [], 99, ~U[2022-09-12 19:28:39Z], ~U[2026-04-11 23:16:40Z], ~U[2026-04-11 23:16:40Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #37", 789, false, "MzwoOX5Guck", "https://www.youtube.com/watch?v=MzwoOX5Guck", "/downloads/H3 Podcast/2022-09-12 (Members) H3 Podcast BTS #37/(Members) H3 Podcast BTS #37 [MzwoOX5Guck].NA", false, 1, ~U[2022-09-12 19:28:39Z]] 11:16:40.540 [debug] QUERY OK source="sources" db=1.8ms queue=0.2ms idle=434.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:40.542 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.2ms idle=36.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:40.547 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=30.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 [64] 11:16:40.547 [debug] Current batch of media processed. Will check again in 1000ms 11:16:41.561 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 594, "filename" => "/downloads/H3 Podcast/2022-09-06 (Members) H3 Podcast BTS #36/(Members) H3 Podcast BTS #36 [sek0ZbbDdek].NA", "id" => "sek0ZbbDdek", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sek0ZbbDdek", "playlist_index" => 65, "timestamp" => 1662498136, "title" => "(Members) H3 Podcast BTS #36", "upload_date" => "20220906"} 11:16:41.570 [debug] QUERY OK source="sources" db=3.7ms queue=0.9ms 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" IN (?)) [1] 11:16:41.578 [debug] QUERY OK source="sources" db=3.1ms queue=1.2ms idle=1030.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:41.582 [debug] QUERY OK source="media_items" db=3.1ms queue=0.3ms idle=1031.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-09-06 21:02:16Z], 1] 11:16:41.592 [debug] QUERY OK source="media_items" db=7.3ms queue=0.1ms idle=483.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #36", "d7812e09-ed11-4535-959a-c2d805bdfa9a", 594, false, "sek0ZbbDdek", "https://www.youtube.com/watch?v=sek0ZbbDdek", 65, "/downloads/H3 Podcast/2022-09-06 (Members) H3 Podcast BTS #36/(Members) H3 Podcast BTS #36 [sek0ZbbDdek].NA", false, false, false, 1, [], 99, ~U[2022-09-06 21:02:16Z], ~U[2026-04-11 23:16:41Z], ~U[2026-04-11 23:16:41Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #36", 594, false, "sek0ZbbDdek", "https://www.youtube.com/watch?v=sek0ZbbDdek", "/downloads/H3 Podcast/2022-09-06 (Members) H3 Podcast BTS #36/(Members) H3 Podcast BTS #36 [sek0ZbbDdek].NA", false, 1, ~U[2022-09-06 21:02:16Z]] 11:16:41.594 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=484.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:41.596 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=25.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:41.599 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=19.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [65] 11:16:41.599 [debug] Current batch of media processed. Will check again in 1000ms 11:16:42.606 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 633, "filename" => "/downloads/H3 Podcast/2022-08-29 (Members) H3 Podcast BTS #35/(Members) H3 Podcast BTS #35 [Ytxsf68JQeo].NA", "id" => "Ytxsf68JQeo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ytxsf68JQeo", "playlist_index" => 66, "timestamp" => 1661794932, "title" => "(Members) H3 Podcast BTS #35", "upload_date" => "20220829"} 11:16:42.618 [debug] QUERY OK source="sources" db=6.3ms queue=1.0ms idle=1015.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:42.624 [debug] QUERY OK source="sources" db=2.2ms queue=0.8ms 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" = ?) [1] 11:16:42.628 [debug] QUERY OK source="media_items" db=2.8ms queue=0.4ms idle=1025.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-08-29 17:42:12Z], 1] 11:16:42.637 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=523.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #35", "8cd1ce84-8216-4a4b-be04-26288a917fb6", 633, false, "Ytxsf68JQeo", "https://www.youtube.com/watch?v=Ytxsf68JQeo", 66, "/downloads/H3 Podcast/2022-08-29 (Members) H3 Podcast BTS #35/(Members) H3 Podcast BTS #35 [Ytxsf68JQeo].NA", false, false, false, 1, [], 99, ~U[2022-08-29 17:42:12Z], ~U[2026-04-11 23:16:42Z], ~U[2026-04-11 23:16:42Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #35", 633, false, "Ytxsf68JQeo", "https://www.youtube.com/watch?v=Ytxsf68JQeo", "/downloads/H3 Podcast/2022-08-29 (Members) H3 Podcast BTS #35/(Members) H3 Podcast BTS #35 [Ytxsf68JQeo].NA", false, 1, ~U[2022-08-29 17:42:12Z]] 11:16:42.640 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=523.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:42.642 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=24.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:42.644 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=19.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 [66] 11:16:42.645 [debug] Current batch of media processed. Will check again in 1000ms 11:16:43.647 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 970, "filename" => "/downloads/H3 Podcast/2022-08-20 (Members) H3 Podcast BTS #34/(Members) H3 Podcast BTS #34 [l_2UGxRInOk].NA", "id" => "l_2UGxRInOk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=l_2UGxRInOk", "playlist_index" => 67, "timestamp" => 1660959842, "title" => "(Members) H3 Podcast BTS #34", "upload_date" => "20220820"} 11:16:43.650 [debug] QUERY OK source="sources" db=1.3ms queue=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" IN (?)) [1] 11:16:43.654 [debug] QUERY OK source="sources" db=2.7ms queue=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" = ?) [1] 11:16:43.657 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=516.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-08-20 01:44:02Z], 1] 11:16:43.671 [debug] QUERY OK source="media_items" db=11.0ms queue=0.2ms idle=12.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #34", "bfb90012-2708-4c6c-9691-a9a4bf4eb3de", 970, false, "l_2UGxRInOk", "https://www.youtube.com/watch?v=l_2UGxRInOk", 67, "/downloads/H3 Podcast/2022-08-20 (Members) H3 Podcast BTS #34/(Members) H3 Podcast BTS #34 [l_2UGxRInOk].NA", false, false, false, 1, [], 99, ~U[2022-08-20 01:44:02Z], ~U[2026-04-11 23:16:43Z], ~U[2026-04-11 23:16:43Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #34", 970, false, "l_2UGxRInOk", "https://www.youtube.com/watch?v=l_2UGxRInOk", "/downloads/H3 Podcast/2022-08-20 (Members) H3 Podcast BTS #34/(Members) H3 Podcast BTS #34 [l_2UGxRInOk].NA", false, 1, ~U[2022-08-20 01:44:02Z]] 11:16:43.675 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=25.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:43.677 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=25.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:43.681 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=23.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 [67] 11:16:43.681 [debug] Current batch of media processed. Will check again in 1000ms 11:16:44.685 [debug] Current batch of media processed. Will check again in 1000ms 11:16:45.691 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 966, "filename" => "/downloads/H3 Podcast/2022-08-05 (Members) H3 Podcast BTS #33/(Members) H3 Podcast BTS #33 [Qi1pqJXI2aY].NA", "id" => "Qi1pqJXI2aY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qi1pqJXI2aY", "playlist_index" => 68, "timestamp" => 1659741297, "title" => "(Members) H3 Podcast BTS #33", "upload_date" => "20220805"} 11:16:45.693 [debug] QUERY OK source="sources" db=1.0ms queue=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:45.699 [debug] QUERY OK source="sources" db=4.0ms queue=0.2ms idle=515.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:45.705 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=51.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-08-05 23:14:57Z], 1] 11:16:45.716 [debug] QUERY OK source="media_items" db=8.2ms queue=0.1ms idle=58.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #33", "77ebd70b-a0c0-46fb-adc4-e7846737bc32", 966, false, "Qi1pqJXI2aY", "https://www.youtube.com/watch?v=Qi1pqJXI2aY", 68, "/downloads/H3 Podcast/2022-08-05 (Members) H3 Podcast BTS #33/(Members) H3 Podcast BTS #33 [Qi1pqJXI2aY].NA", false, false, false, 1, [], 99, ~U[2022-08-05 23:14:57Z], ~U[2026-04-11 23:16:45Z], ~U[2026-04-11 23:16:45Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #33", 966, false, "Qi1pqJXI2aY", "https://www.youtube.com/watch?v=Qi1pqJXI2aY", "/downloads/H3 Podcast/2022-08-05 (Members) H3 Podcast BTS #33/(Members) H3 Podcast BTS #33 [Qi1pqJXI2aY].NA", false, 1, ~U[2022-08-05 23:14:57Z]] 11:16:45.720 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=67.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:45.722 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.4ms idle=27.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:45.726 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=25.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 [68] 11:16:45.728 [debug] Current batch of media processed. Will check again in 1000ms 11:16:46.730 [debug] Current batch of media processed. Will check again in 1000ms 11:16:47.742 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://harrys.com/h3 for sponsoring this episode!\nAnd thanks to Ethan's BFF's @JeffWittek , @tanamongeauiscancelled & @MikeMajlakVlogs for coming on the show!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 10657, "filename" => "/downloads/H3 Podcast/2022-08-04 Jeff Wittek, Tana Mongeau, Mike Majlak - H3 Podcast #254/Jeff Wittek, Tana Mongeau, Mike Majlak - H3 Podcast #254 [580pXApZj-U].mp4", "id" => "580pXApZj-U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=580pXApZj-U", "playlist_index" => 69, "timestamp" => 1659643211, "title" => "Jeff Wittek, Tana Mongeau, Mike Majlak - H3 Podcast #254", "upload_date" => "20220804"} 11:16:47.752 [debug] QUERY OK source="sources" db=5.7ms queue=0.6ms idle=558.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:47.758 [debug] QUERY OK source="sources" db=1.4ms queue=0.4ms idle=561.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:47.766 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=108.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-08-04 20:00:11Z], 1] 11:16:47.776 [debug] QUERY OK source="media_items" db=7.4ms idle=117.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://harrys.com/h3 for sponsoring this episode!\nAnd thanks to Ethan's BFF's @JeffWittek , @tanamongeauiscancelled & @MikeMajlakVlogs for coming on the show!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Jeff Wittek, Tana Mongeau, Mike Majlak - H3 Podcast #254", "f30ddaf9-f4ff-46ff-8f69-228957d90378", 10657, false, "580pXApZj-U", "https://www.youtube.com/watch?v=580pXApZj-U", 69, "/downloads/H3 Podcast/2022-08-04 Jeff Wittek, Tana Mongeau, Mike Majlak - H3 Podcast #254/Jeff Wittek, Tana Mongeau, Mike Majlak - H3 Podcast #254 [580pXApZj-U].mp4", false, false, false, 1, [], 99, ~U[2022-08-04 20:00:11Z], ~U[2026-04-11 23:16:47Z], ~U[2026-04-11 23:16:47Z], "Thank you to http://harrys.com/h3 for sponsoring this episode!\nAnd thanks to Ethan's BFF's @JeffWittek , @tanamongeauiscancelled & @MikeMajlakVlogs for coming on the show!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Jeff Wittek, Tana Mongeau, Mike Majlak - H3 Podcast #254", 10657, false, "580pXApZj-U", "https://www.youtube.com/watch?v=580pXApZj-U", "/downloads/H3 Podcast/2022-08-04 Jeff Wittek, Tana Mongeau, Mike Majlak - H3 Podcast #254/Jeff Wittek, Tana Mongeau, Mike Majlak - H3 Podcast #254 [580pXApZj-U].mp4", false, 1, ~U[2022-08-04 20:00:11Z]] 11:16:47.778 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms 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" = ?) [1] 11:16:47.780 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=27.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:47.783 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=23.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 [69] 11:16:47.783 [debug] Current batch of media processed. Will check again in 1000ms 11:16:48.798 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5292, "filename" => "/downloads/H3 Podcast/2022-08-01 (Members) Elderlies #1/(Members) Elderlies #1 [-YmtFTgF5is].NA", "id" => "-YmtFTgF5is", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-YmtFTgF5is", "playlist_index" => 70, "timestamp" => 1659397185, "title" => "(Members) Elderlies #1", "upload_date" => "20220801"} 11:16:48.811 [debug] QUERY OK source="sources" db=7.0ms queue=0.6ms idle=1024.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:48.820 [debug] QUERY OK source="sources" db=3.3ms queue=0.5ms idle=1035.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:48.825 [debug] QUERY OK source="media_items" db=3.6ms queue=0.3ms idle=1037.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-08-01 23:39:45Z], 1] 11:16:48.832 [debug] QUERY OK source="media_items" db=5.1ms queue=0.2ms idle=633.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Elderlies #1", "2aeef86d-c9f6-43c3-8641-6937af4bd031", 5292, false, "-YmtFTgF5is", "https://www.youtube.com/watch?v=-YmtFTgF5is", 70, "/downloads/H3 Podcast/2022-08-01 (Members) Elderlies #1/(Members) Elderlies #1 [-YmtFTgF5is].NA", false, false, false, 1, [], 99, ~U[2022-08-01 23:39:45Z], ~U[2026-04-11 23:16:48Z], ~U[2026-04-11 23:16:48Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Elderlies #1", 5292, false, "-YmtFTgF5is", "https://www.youtube.com/watch?v=-YmtFTgF5is", "/downloads/H3 Podcast/2022-08-01 (Members) Elderlies #1/(Members) Elderlies #1 [-YmtFTgF5is].NA", false, 1, ~U[2022-08-01 23:39:45Z]] 11:16:48.835 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=630.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:48.837 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.4ms idle=25.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:48.840 [debug] QUERY OK source="media_items" db=1.8ms idle=18.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 [70] 11:16:48.840 [debug] Current batch of media processed. Will check again in 1000ms 11:16:49.853 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2072, "filename" => "/downloads/H3 Podcast/2022-08-01 (Members) H3 Podcast BTS #32/(Members) H3 Podcast BTS #32 [rSw35gPBjWk].NA", "id" => "rSw35gPBjWk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rSw35gPBjWk", "playlist_index" => 71, "timestamp" => 1659377241, "title" => "(Members) H3 Podcast BTS #32", "upload_date" => "20220801"} 11:16:49.866 [debug] QUERY OK source="sources" db=6.7ms queue=0.9ms idle=1022.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:49.872 [debug] QUERY OK source="sources" db=2.4ms queue=0.5ms idle=1032.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:49.877 [debug] QUERY OK source="media_items" db=3.8ms queue=0.2ms idle=1033.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-08-01 18:07:21Z], 1] 11:16:49.885 [debug] QUERY OK source="media_items" db=6.2ms queue=0.2ms idle=676.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #32", "16acaf8d-1f7e-492b-82d3-22acb6cd2461", 2072, false, "rSw35gPBjWk", "https://www.youtube.com/watch?v=rSw35gPBjWk", 71, "/downloads/H3 Podcast/2022-08-01 (Members) H3 Podcast BTS #32/(Members) H3 Podcast BTS #32 [rSw35gPBjWk].NA", false, false, false, 1, [], 98, ~U[2022-08-01 18:07:21Z], ~U[2026-04-11 23:16:49Z], ~U[2026-04-11 23:16:49Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #32", 2072, false, "rSw35gPBjWk", "https://www.youtube.com/watch?v=rSw35gPBjWk", "/downloads/H3 Podcast/2022-08-01 (Members) H3 Podcast BTS #32/(Members) H3 Podcast BTS #32 [rSw35gPBjWk].NA", false, 1, ~U[2022-08-01 18:07:21Z]] 11:16:49.889 [debug] QUERY OK source="sources" db=2.3ms queue=0.2ms idle=675.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:49.890 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=24.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:49.893 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=19.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 [71] 11:16:49.894 [debug] Current batch of media processed. Will check again in 1000ms 11:16:50.898 [debug] Current batch of media processed. Will check again in 1000ms 11:16:51.901 [debug] Current batch of media processed. Will check again in 1000ms 11:16:52.903 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://hellofresh.com/afterdark16 (use code afterdark16) for sponsoring this episode!\nThanks to @whitneycummings for joining us! Check out her new special \"Jokes\" out now on Netflix, and you can get ticket to her tour at http://whitneycummings.com/tour !\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 10845, "filename" => "/downloads/H3 Podcast/2022-07-30 Whitney Cummings - H3 Podcast #253/Whitney Cummings - H3 Podcast #253 [4SsTW0Bzj2M].mp4", "id" => "4SsTW0Bzj2M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4SsTW0Bzj2M", "playlist_index" => 72, "timestamp" => 1659147657, "title" => "Whitney Cummings - H3 Podcast #253", "upload_date" => "20220730"} 11:16:52.905 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=1233.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:52.911 [debug] QUERY OK source="sources" db=0.8ms queue=0.4ms idle=1238.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:52.919 [debug] QUERY OK source="media_items" db=7.2ms queue=0.1ms idle=1240.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-07-30 02:20:57Z], 1] 11:16:52.930 [debug] QUERY OK source="media_items" db=9.2ms queue=0.1ms idle=669.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://hellofresh.com/afterdark16 (use code afterdark16) for sponsoring this episode!\nThanks to @whitneycummings for joining us! Check out her new special \"Jokes\" out now on Netflix, and you can get ticket to her tour at http://whitneycummings.com/tour !\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Whitney Cummings - H3 Podcast #253", "16c49849-2f86-426b-991d-7aca570e4642", 10845, false, "4SsTW0Bzj2M", "https://www.youtube.com/watch?v=4SsTW0Bzj2M", 72, "/downloads/H3 Podcast/2022-07-30 Whitney Cummings - H3 Podcast #253/Whitney Cummings - H3 Podcast #253 [4SsTW0Bzj2M].mp4", false, false, false, 1, [], 99, ~U[2022-07-30 02:20:57Z], ~U[2026-04-11 23:16:52Z], ~U[2026-04-11 23:16:52Z], "Thank you to http://hellofresh.com/afterdark16 (use code afterdark16) for sponsoring this episode!\nThanks to @whitneycummings for joining us! Check out her new special \"Jokes\" out now on Netflix, and you can get ticket to her tour at http://whitneycummings.com/tour !\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Whitney Cummings - H3 Podcast #253", 10845, false, "4SsTW0Bzj2M", "https://www.youtube.com/watch?v=4SsTW0Bzj2M", "/downloads/H3 Podcast/2022-07-30 Whitney Cummings - H3 Podcast #253/Whitney Cummings - H3 Podcast #253 [4SsTW0Bzj2M].mp4", false, 1, ~U[2022-07-30 02:20:57Z]] 11:16:52.932 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=672.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:52.936 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.1ms idle=27.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:52.940 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=26.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 [72] 11:16:52.940 [debug] Current batch of media processed. Will check again in 1000ms 11:16:53.946 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1353, "filename" => "/downloads/H3 Podcast/2022-07-23 (Members) H3 Podcast BTS #31/(Members) H3 Podcast BTS #31 [3droRS-bcBc].NA", "id" => "3droRS-bcBc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3droRS-bcBc", "playlist_index" => 73, "timestamp" => 1658542171, "title" => "(Members) H3 Podcast BTS #31", "upload_date" => "20220723"} 11:16:53.952 [debug] QUERY OK source="sources" db=3.2ms queue=0.6ms idle=1015.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:53.962 [debug] QUERY OK source="sources" db=7.7ms queue=0.4ms idle=1017.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:53.971 [debug] QUERY OK source="media_items" db=6.4ms queue=0.5ms idle=1024.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-07-23 02:09:31Z], 1] 11:16:53.987 [debug] QUERY OK source="media_items" db=13.7ms queue=0.1ms idle=711.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #31", "e77eabe4-899d-4079-9df2-ea5fb033bc1d", 1353, false, "3droRS-bcBc", "https://www.youtube.com/watch?v=3droRS-bcBc", 73, "/downloads/H3 Podcast/2022-07-23 (Members) H3 Podcast BTS #31/(Members) H3 Podcast BTS #31 [3droRS-bcBc].NA", false, false, false, 1, [], 99, ~U[2022-07-23 02:09:31Z], ~U[2026-04-11 23:16:53Z], ~U[2026-04-11 23:16:53Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #31", 1353, false, "3droRS-bcBc", "https://www.youtube.com/watch?v=3droRS-bcBc", "/downloads/H3 Podcast/2022-07-23 (Members) H3 Podcast BTS #31/(Members) H3 Podcast BTS #31 [3droRS-bcBc].NA", false, 1, ~U[2022-07-23 02:09:31Z]] 11:16:53.990 [debug] QUERY OK source="sources" db=1.7ms queue=0.3ms idle=717.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:53.991 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=38.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:53.994 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=30.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 [73] 11:16:53.994 [debug] Current batch of media processed. Will check again in 1000ms 11:16:54.998 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 977, "filename" => "/downloads/H3 Podcast/2022-07-15 (Members) H3 Podcast BTS #30/(Members) H3 Podcast BTS #30 [No7KXqT6z-0].NA", "id" => "No7KXqT6z-0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=No7KXqT6z-0", "playlist_index" => 74, "timestamp" => 1657927950, "title" => "(Members) H3 Podcast BTS #30", "upload_date" => "20220715"} 11:16:55.011 [debug] QUERY OK source="sources" db=6.8ms queue=1.4ms idle=1012.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:55.018 [debug] QUERY OK source="sources" db=1.5ms queue=1.2ms idle=1023.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:55.023 [debug] QUERY OK source="media_items" db=3.6ms queue=0.2ms 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[2022-07-15 23:32:30Z], 1] 11:16:55.032 [debug] QUERY OK source="media_items" db=6.8ms queue=0.1ms idle=755.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #30", "a9e0d891-a44c-4114-8dbf-c0f693d6ebae", 977, false, "No7KXqT6z-0", "https://www.youtube.com/watch?v=No7KXqT6z-0", 74, "/downloads/H3 Podcast/2022-07-15 (Members) H3 Podcast BTS #30/(Members) H3 Podcast BTS #30 [No7KXqT6z-0].NA", false, false, false, 1, [], 99, ~U[2022-07-15 23:32:30Z], ~U[2026-04-11 23:16:55Z], ~U[2026-04-11 23:16:55Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #30", 977, false, "No7KXqT6z-0", "https://www.youtube.com/watch?v=No7KXqT6z-0", "/downloads/H3 Podcast/2022-07-15 (Members) H3 Podcast BTS #30/(Members) H3 Podcast BTS #30 [No7KXqT6z-0].NA", false, 1, ~U[2022-07-15 23:32:30Z]] 11:16:55.034 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=755.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:55.036 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=24.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:55.038 [debug] QUERY OK source="media_items" db=1.6ms idle=18.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [74] 11:16:55.038 [debug] Current batch of media processed. Will check again in 1000ms 11:16:56.050 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 682, "filename" => "/downloads/H3 Podcast/2022-07-12 (Members) H3 Podcast BTS #29/(Members) H3 Podcast BTS #29 [h2zt7PMhejI].NA", "id" => "h2zt7PMhejI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=h2zt7PMhejI", "playlist_index" => 75, "timestamp" => 1657600706, "title" => "(Members) H3 Podcast BTS #29", "upload_date" => "20220712"} 11:16:56.060 [debug] QUERY OK source="sources" db=4.8ms queue=1.1ms idle=1020.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:56.070 [debug] QUERY OK source="sources" db=4.9ms queue=0.9ms idle=1028.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:56.075 [debug] QUERY OK source="media_items" db=3.6ms queue=0.3ms idle=1033.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-07-12 04:38:26Z], 1] 11:16:56.085 [debug] QUERY OK source="media_items" db=7.6ms queue=0.1ms idle=802.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #29", "5da5a910-d140-48a1-9d46-30a8892c4c35", 682, false, "h2zt7PMhejI", "https://www.youtube.com/watch?v=h2zt7PMhejI", 75, "/downloads/H3 Podcast/2022-07-12 (Members) H3 Podcast BTS #29/(Members) H3 Podcast BTS #29 [h2zt7PMhejI].NA", false, false, false, 1, [], 99, ~U[2022-07-12 04:38:26Z], ~U[2026-04-11 23:16:56Z], ~U[2026-04-11 23:16:56Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #29", 682, false, "h2zt7PMhejI", "https://www.youtube.com/watch?v=h2zt7PMhejI", "/downloads/H3 Podcast/2022-07-12 (Members) H3 Podcast BTS #29/(Members) H3 Podcast BTS #29 [h2zt7PMhejI].NA", false, 1, ~U[2022-07-12 04:38:26Z]] 11:16:56.087 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=801.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:56.088 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=27.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:56.091 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms 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 [75] 11:16:56.091 [debug] Current batch of media processed. Will check again in 1000ms 11:16:57.095 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 737, "filename" => "/downloads/H3 Podcast/2022-06-25 (Members) H3 Podcast BTS #28/(Members) H3 Podcast BTS #28 [TzbIlrIjok4].NA", "id" => "TzbIlrIjok4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TzbIlrIjok4", "playlist_index" => 76, "timestamp" => 1656123159, "title" => "(Members) H3 Podcast BTS #28", "upload_date" => "20220625"} 11:16:57.101 [debug] QUERY OK source="sources" db=2.8ms queue=0.9ms idle=1010.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:57.109 [debug] QUERY OK source="sources" db=2.3ms queue=0.7ms idle=1017.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:57.113 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=1018.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-06-25 02:12:39Z], 1] 11:16:57.121 [debug] QUERY OK source="media_items" db=6.2ms queue=0.1ms idle=826.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #28", "ef96a4a0-332f-4252-97c3-24c712077c84", 737, false, "TzbIlrIjok4", "https://www.youtube.com/watch?v=TzbIlrIjok4", 76, "/downloads/H3 Podcast/2022-06-25 (Members) H3 Podcast BTS #28/(Members) H3 Podcast BTS #28 [TzbIlrIjok4].NA", false, false, false, 1, [], 99, ~U[2022-06-25 02:12:39Z], ~U[2026-04-11 23:16:57Z], ~U[2026-04-11 23:16:57Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #28", 737, false, "TzbIlrIjok4", "https://www.youtube.com/watch?v=TzbIlrIjok4", "/downloads/H3 Podcast/2022-06-25 (Members) H3 Podcast BTS #28/(Members) H3 Podcast BTS #28 [TzbIlrIjok4].NA", false, 1, ~U[2022-06-25 02:12:39Z]] 11:16:57.123 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=812.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:57.124 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=22.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:57.127 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=16.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 [76] 11:16:57.127 [debug] Current batch of media processed. Will check again in 1000ms 11:16:58.135 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1139, "filename" => "/downloads/H3 Podcast/2022-06-17 (Members) H3 Podcast BTS #27/(Members) H3 Podcast BTS #27 [0S7dXUPL-a4].NA", "id" => "0S7dXUPL-a4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0S7dXUPL-a4", "playlist_index" => 77, "timestamp" => 1655508892, "title" => "(Members) H3 Podcast BTS #27", "upload_date" => "20220617"} 11:16:58.137 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=1013.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:16:58.139 [debug] QUERY OK source="sources" db=0.8ms queue=0.3ms idle=1013.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:58.144 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=1012.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-06-17 23:34:52Z], 1] 11:16:58.154 [debug] QUERY OK source="media_items" db=8.2ms queue=0.1ms idle=844.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #27", "e750a167-6b7d-48f3-9b0c-af6f640d0f97", 1139, false, "0S7dXUPL-a4", "https://www.youtube.com/watch?v=0S7dXUPL-a4", 77, "/downloads/H3 Podcast/2022-06-17 (Members) H3 Podcast BTS #27/(Members) H3 Podcast BTS #27 [0S7dXUPL-a4].NA", false, false, false, 1, [], 99, ~U[2022-06-17 23:34:52Z], ~U[2026-04-11 23:16:58Z], ~U[2026-04-11 23:16:58Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #27", 1139, false, "0S7dXUPL-a4", "https://www.youtube.com/watch?v=0S7dXUPL-a4", "/downloads/H3 Podcast/2022-06-17 (Members) H3 Podcast BTS #27/(Members) H3 Podcast BTS #27 [0S7dXUPL-a4].NA", false, 1, ~U[2022-06-17 23:34:52Z]] 11:16:58.156 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=840.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:16:58.157 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=19.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:16:58.160 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=19.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [77] 11:16:58.161 [debug] Current batch of media processed. Will check again in 1000ms 11:16:59.171 [debug] Current batch of media processed. Will check again in 1000ms 11:17:00.176 [debug] Current batch of media processed. Will check again in 1000ms 11:17:00.661 [info] {"source":"oban","duration":1371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:17:01.187 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://hellofresh.com/afterdark16 (use code afterdark16 for up to 16 free meals AND 3 free gifts) for sponsoring us!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7010, "filename" => "/downloads/H3 Podcast/2022-06-17 Frenemies Is Back & Short Lived/Frenemies Is Back & Short Lived [t29lvnxG0L4].mp4", "id" => "t29lvnxG0L4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=t29lvnxG0L4", "playlist_index" => 78, "timestamp" => 1655493983, "title" => "Frenemies Is Back & Short Lived", "upload_date" => "20220617"} 11:17:01.191 [debug] QUERY OK source="sources" db=2.5ms queue=0.3ms 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 (?)) [1] 11:17:01.194 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1490.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:01.204 [debug] QUERY OK source="media_items" db=8.5ms queue=0.1ms idle=866.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-06-17 19:26:23Z], 1] 11:17:01.212 [debug] QUERY OK source="media_items" db=6.2ms queue=0.3ms idle=868.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://hellofresh.com/afterdark16 (use code afterdark16 for up to 16 free meals AND 3 free gifts) for sponsoring us!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Frenemies Is Back & Short Lived", "b1d0772d-af77-4066-9f34-b0cbe400f199", 7010, false, "t29lvnxG0L4", "https://www.youtube.com/watch?v=t29lvnxG0L4", 78, "/downloads/H3 Podcast/2022-06-17 Frenemies Is Back & Short Lived/Frenemies Is Back & Short Lived [t29lvnxG0L4].mp4", false, false, false, 1, [], 98, ~U[2022-06-17 19:26:23Z], ~U[2026-04-11 23:17:01Z], ~U[2026-04-11 23:17:01Z], "Thank you to http://hellofresh.com/afterdark16 (use code afterdark16 for up to 16 free meals AND 3 free gifts) for sponsoring us!\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Frenemies Is Back & Short Lived", 7010, false, "t29lvnxG0L4", "https://www.youtube.com/watch?v=t29lvnxG0L4", "/downloads/H3 Podcast/2022-06-17 Frenemies Is Back & Short Lived/Frenemies Is Back & Short Lived [t29lvnxG0L4].mp4", false, 1, ~U[2022-06-17 19:26:23Z]] 11:17:01.215 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=552.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:01.217 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.2ms idle=24.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:01.220 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=23.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 [78] 11:17:01.220 [debug] Current batch of media processed. Will check again in 1000ms 11:17:02.226 [debug] Current batch of media processed. Will check again in 1000ms 11:17:03.232 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 912, "filename" => "/downloads/H3 Podcast/2022-06-10 (Members) H3 Podcast BTS #26/(Members) H3 Podcast BTS #26 [JVg6PYVlDWk].NA", "id" => "JVg6PYVlDWk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JVg6PYVlDWk", "playlist_index" => 79, "timestamp" => 1654899783, "title" => "(Members) H3 Podcast BTS #26", "upload_date" => "20220610"} 11:17:03.235 [debug] QUERY OK source="sources" db=1.7ms queue=0.2ms 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" IN (?)) [1] 11:17:03.240 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=882.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:03.244 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=531.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-06-10 22:23:03Z], 1] 11:17:03.256 [debug] QUERY OK source="media_items" db=9.6ms queue=0.1ms idle=536.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #26", "ab236161-bb20-490e-8dca-d1908dcc6b62", 912, false, "JVg6PYVlDWk", "https://www.youtube.com/watch?v=JVg6PYVlDWk", 79, "/downloads/H3 Podcast/2022-06-10 (Members) H3 Podcast BTS #26/(Members) H3 Podcast BTS #26 [JVg6PYVlDWk].NA", false, false, false, 1, [], 99, ~U[2022-06-10 22:23:03Z], ~U[2026-04-11 23:17:03Z], ~U[2026-04-11 23:17:03Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #26", 912, false, "JVg6PYVlDWk", "https://www.youtube.com/watch?v=JVg6PYVlDWk", "/downloads/H3 Podcast/2022-06-10 (Members) H3 Podcast BTS #26/(Members) H3 Podcast BTS #26 [JVg6PYVlDWk].NA", false, 1, ~U[2022-06-10 22:23:03Z]] 11:17:03.259 [debug] QUERY OK source="sources" db=1.8ms queue=0.3ms idle=547.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:03.261 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=25.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:03.264 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=22.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 [79] 11:17:03.264 [debug] Current batch of media processed. Will check again in 1000ms 11:17:04.269 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1293, "filename" => "/downloads/H3 Podcast/2022-05-27 (Members) H3 Podcast BTS #25/(Members) H3 Podcast BTS #25 [AB1ZenpMQQw].NA", "id" => "AB1ZenpMQQw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AB1ZenpMQQw", "playlist_index" => 80, "timestamp" => 1653692208, "title" => "(Members) H3 Podcast BTS #25", "upload_date" => "20220527"} 11:17:04.271 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1010.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:04.273 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=1011.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:04.277 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=1010.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-05-27 22:56:48Z], 1] 11:17:04.284 [debug] QUERY OK source="media_items" db=5.9ms queue=0.1ms idle=936.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #25", "0ddc3161-72b8-49ab-8970-2b99a95c1c1f", 1293, false, "AB1ZenpMQQw", "https://www.youtube.com/watch?v=AB1ZenpMQQw", 80, "/downloads/H3 Podcast/2022-05-27 (Members) H3 Podcast BTS #25/(Members) H3 Podcast BTS #25 [AB1ZenpMQQw].NA", false, false, false, 1, [], 99, ~U[2022-05-27 22:56:48Z], ~U[2026-04-11 23:17:04Z], ~U[2026-04-11 23:17:04Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #25", 1293, false, "AB1ZenpMQQw", "https://www.youtube.com/watch?v=AB1ZenpMQQw", "/downloads/H3 Podcast/2022-05-27 (Members) H3 Podcast BTS #25/(Members) H3 Podcast BTS #25 [AB1ZenpMQQw].NA", false, 1, ~U[2022-05-27 22:56:48Z]] 11:17:04.286 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=936.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:04.288 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.8ms idle=15.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:04.292 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=15.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [80] 11:17:04.293 [debug] Current batch of media processed. Will check again in 1000ms 11:17:04.608 [info] {"source":"oban","duration":10092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:05.304 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 798, "filename" => "/downloads/H3 Podcast/2022-05-21 (Members) H3 Podcast BTS #24/(Members) H3 Podcast BTS #24 [X_GpbOd_0uU].NA", "id" => "X_GpbOd_0uU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X_GpbOd_0uU", "playlist_index" => 81, "timestamp" => 1653174958, "title" => "(Members) H3 Podcast BTS #24", "upload_date" => "20220521"} 11:17:05.307 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=1017.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:05.309 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1016.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:05.312 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=960.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-05-21 23:15:58Z], 1] 11:17:05.319 [debug] QUERY OK source="media_items" db=5.4ms idle=955.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #24", "e4903804-8846-42a5-8bed-04617d78511a", 798, false, "X_GpbOd_0uU", "https://www.youtube.com/watch?v=X_GpbOd_0uU", 81, "/downloads/H3 Podcast/2022-05-21 (Members) H3 Podcast BTS #24/(Members) H3 Podcast BTS #24 [X_GpbOd_0uU].NA", false, false, false, 1, [], 99, ~U[2022-05-21 23:15:58Z], ~U[2026-04-11 23:17:05Z], ~U[2026-04-11 23:17:05Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #24", 798, false, "X_GpbOd_0uU", "https://www.youtube.com/watch?v=X_GpbOd_0uU", "/downloads/H3 Podcast/2022-05-21 (Members) H3 Podcast BTS #24/(Members) H3 Podcast BTS #24 [X_GpbOd_0uU].NA", false, 1, ~U[2022-05-21 23:15:58Z]] 11:17:05.321 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=712.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:05.322 [debug] QUERY OK source="media_profiles" db=0.4ms idle=14.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:05.325 [debug] QUERY OK source="media_items" db=2.0ms idle=14.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 [81] 11:17:05.326 [debug] Current batch of media processed. Will check again in 1000ms 11:17:06.334 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 550, "filename" => "/downloads/H3 Podcast/2022-05-06 (Members) H3 Podcast BTS #23/(Members) H3 Podcast BTS #23 [sq0vxiXEURU].NA", "id" => "sq0vxiXEURU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sq0vxiXEURU", "playlist_index" => 82, "timestamp" => 1651881029, "title" => "(Members) H3 Podcast BTS #23", "upload_date" => "20220506"} 11:17:06.343 [debug] QUERY OK source="sources" db=4.1ms queue=1.2ms idle=1015.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:06.351 [debug] QUERY OK source="sources" db=3.9ms queue=0.7ms idle=1023.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:06.365 [debug] QUERY OK source="media_items" db=12.3ms queue=0.4ms idle=1027.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-05-06 23:50:29Z], 1] 11:17:06.379 [debug] QUERY OK source="media_items" db=8.6ms queue=0.1ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #23", "8c82c809-2145-4b33-8a5d-0f01dec5bb2d", 550, false, "sq0vxiXEURU", "https://www.youtube.com/watch?v=sq0vxiXEURU", 82, "/downloads/H3 Podcast/2022-05-06 (Members) H3 Podcast BTS #23/(Members) H3 Podcast BTS #23 [sq0vxiXEURU].NA", false, false, false, 1, [], 99, ~U[2022-05-06 23:50:29Z], ~U[2026-04-11 23:17:06Z], ~U[2026-04-11 23:17:06Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #23", 550, false, "sq0vxiXEURU", "https://www.youtube.com/watch?v=sq0vxiXEURU", "/downloads/H3 Podcast/2022-05-06 (Members) H3 Podcast BTS #23/(Members) H3 Podcast BTS #23 [sq0vxiXEURU].NA", false, 1, ~U[2022-05-06 23:50:29Z]] 11:17:06.382 [debug] QUERY OK source="sources" db=2.0ms queue=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" = ?) [1] 11:17:06.384 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=17.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:06.390 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=18.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [82] 11:17:06.391 [debug] Current batch of media processed. Will check again in 1000ms 11:17:07.393 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Get the Rap Trading x H3 Cards at: http://raptrading.co\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 633, "filename" => "/downloads/H3 Podcast/2022-04-29 (Members) H3 Podcast BTS #22/(Members) H3 Podcast BTS #22 [MSoat7BRbj0].NA", "id" => "MSoat7BRbj0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MSoat7BRbj0", "playlist_index" => 83, "timestamp" => 1651275529, "title" => "(Members) H3 Podcast BTS #22", "upload_date" => "20220429"} 11:17:07.396 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1012.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:07.400 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=1013.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:07.404 [debug] QUERY OK source="media_items" db=3.8ms queue=0.2ms idle=1010.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-04-29 23:38:49Z], 1] 11:17:07.412 [debug] QUERY OK source="media_items" db=6.2ms queue=0.1ms idle=14.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get the Rap Trading x H3 Cards at: http://raptrading.co\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #22", "0a3ca008-b789-45be-b011-27a25550410d", 633, false, "MSoat7BRbj0", "https://www.youtube.com/watch?v=MSoat7BRbj0", 83, "/downloads/H3 Podcast/2022-04-29 (Members) H3 Podcast BTS #22/(Members) H3 Podcast BTS #22 [MSoat7BRbj0].NA", false, false, false, 1, [], 99, ~U[2022-04-29 23:38:49Z], ~U[2026-04-11 23:17:07Z], ~U[2026-04-11 23:17:07Z], "Get the Rap Trading x H3 Cards at: http://raptrading.co\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #22", 633, false, "MSoat7BRbj0", "https://www.youtube.com/watch?v=MSoat7BRbj0", "/downloads/H3 Podcast/2022-04-29 (Members) H3 Podcast BTS #22/(Members) H3 Podcast BTS #22 [MSoat7BRbj0].NA", false, 1, ~U[2022-04-29 23:38:49Z]] 11:17:07.414 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=17.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:07.416 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=15.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:07.420 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=16.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 [83] 11:17:07.420 [debug] Current batch of media processed. Will check again in 1000ms 11:17:08.422 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Watch the full Esfand stream on his channel: https://www.twitch.tv/esfandtv\nBecome a member for access to prerecorded episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 604, "filename" => "/downloads/H3 Podcast/2022-04-22 (Members) H3 Podcast BTS #21/(Members) H3 Podcast BTS #21 [nzp1JeEyVdQ].NA", "id" => "nzp1JeEyVdQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nzp1JeEyVdQ", "playlist_index" => 84, "timestamp" => 1650671910, "title" => "(Members) H3 Podcast BTS #21", "upload_date" => "20220422"} 11:17:08.428 [debug] QUERY OK source="sources" db=2.8ms queue=0.3ms idle=1010.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:08.433 [debug] QUERY OK source="sources" db=3.0ms queue=0.4ms idle=1013.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:08.437 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=1013.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-04-22 23:58:30Z], 1] 11:17:08.448 [debug] QUERY OK source="media_items" db=8.3ms queue=0.1ms idle=24.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch the full Esfand stream on his channel: https://www.twitch.tv/esfandtv\nBecome a member for access to prerecorded episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #21", "9b55f712-c57a-4070-aea7-b38bbd9739fd", 604, false, "nzp1JeEyVdQ", "https://www.youtube.com/watch?v=nzp1JeEyVdQ", 84, "/downloads/H3 Podcast/2022-04-22 (Members) H3 Podcast BTS #21/(Members) H3 Podcast BTS #21 [nzp1JeEyVdQ].NA", false, false, false, 1, [], 99, ~U[2022-04-22 23:58:30Z], ~U[2026-04-11 23:17:08Z], ~U[2026-04-11 23:17:08Z], "Watch the full Esfand stream on his channel: https://www.twitch.tv/esfandtv\nBecome a member for access to prerecorded episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #21", 604, false, "nzp1JeEyVdQ", "https://www.youtube.com/watch?v=nzp1JeEyVdQ", "/downloads/H3 Podcast/2022-04-22 (Members) H3 Podcast BTS #21/(Members) H3 Podcast BTS #21 [nzp1JeEyVdQ].NA", false, 1, ~U[2022-04-22 23:58:30Z]] 11:17:08.451 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=20.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:08.453 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.3ms idle=21.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:08.456 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=20.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 [84] 11:17:08.457 [debug] Current batch of media processed. Will check again in 1000ms 11:17:09.458 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "https://fiddleheadcoffee.co/\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 546, "filename" => "/downloads/H3 Podcast/2022-04-09 (Members) H3 Podcast BTS #20/(Members) H3 Podcast BTS #20 [_GLiH25YKlE].NA", "id" => "_GLiH25YKlE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_GLiH25YKlE", "playlist_index" => 85, "timestamp" => 1649463400, "title" => "(Members) H3 Podcast BTS #20", "upload_date" => "20220409"} 11:17:09.462 [debug] QUERY OK source="sources" db=1.6ms queue=0.5ms 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" IN (?)) [1] 11:17:09.463 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1009.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:09.468 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=1007.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-04-09 00:16:40Z], 1] 11:17:09.477 [debug] QUERY OK source="media_items" db=7.2ms queue=0.1ms idle=26.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["https://fiddleheadcoffee.co/\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #20", "70b6202e-57f3-482a-bb14-c5576f59c100", 546, false, "_GLiH25YKlE", "https://www.youtube.com/watch?v=_GLiH25YKlE", 85, "/downloads/H3 Podcast/2022-04-09 (Members) H3 Podcast BTS #20/(Members) H3 Podcast BTS #20 [_GLiH25YKlE].NA", false, false, false, 1, [], 99, ~U[2022-04-09 00:16:40Z], ~U[2026-04-11 23:17:09Z], ~U[2026-04-11 23:17:09Z], "https://fiddleheadcoffee.co/\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #20", 546, false, "_GLiH25YKlE", "https://www.youtube.com/watch?v=_GLiH25YKlE", "/downloads/H3 Podcast/2022-04-09 (Members) H3 Podcast BTS #20/(Members) H3 Podcast BTS #20 [_GLiH25YKlE].NA", false, 1, ~U[2022-04-09 00:16:40Z]] 11:17:09.479 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=18.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:09.481 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=18.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:09.484 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=18.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [85] 11:17:09.484 [debug] Current batch of media processed. Will check again in 1000ms 11:17:10.492 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1164, "filename" => "/downloads/H3 Podcast/2022-03-18 (Members) H3 Podcast BTS #18/(Members) H3 Podcast BTS #18 [nHeg4nSfXfM].NA", "id" => "nHeg4nSfXfM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nHeg4nSfXfM", "playlist_index" => 86, "timestamp" => 1647634833, "title" => "(Members) H3 Podcast BTS #18", "upload_date" => "20220318"} 11:17:10.496 [debug] QUERY OK source="sources" db=2.1ms queue=0.4ms idle=1014.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:10.499 [debug] QUERY OK source="sources" db=0.7ms queue=0.3ms idle=1017.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:10.503 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=1015.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-03-18 20:20:33Z], 1] 11:17:10.511 [debug] QUERY OK source="media_items" db=6.4ms queue=0.1ms idle=43.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #18", "1633a735-c824-4a09-a159-1b299ca52369", 1164, false, "nHeg4nSfXfM", "https://www.youtube.com/watch?v=nHeg4nSfXfM", 86, "/downloads/H3 Podcast/2022-03-18 (Members) H3 Podcast BTS #18/(Members) H3 Podcast BTS #18 [nHeg4nSfXfM].NA", false, false, false, 1, [], 99, ~U[2022-03-18 20:20:33Z], ~U[2026-04-11 23:17:10Z], ~U[2026-04-11 23:17:10Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #18", 1164, false, "nHeg4nSfXfM", "https://www.youtube.com/watch?v=nHeg4nSfXfM", "/downloads/H3 Podcast/2022-03-18 (Members) H3 Podcast BTS #18/(Members) H3 Podcast BTS #18 [nHeg4nSfXfM].NA", false, 1, ~U[2022-03-18 20:20:33Z]] 11:17:10.513 [debug] QUERY OK source="sources" db=1.2ms queue=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" = ?) [1] 11:17:10.515 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=17.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:10.518 [debug] QUERY OK source="media_items" db=1.9ms queue=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 [86] 11:17:10.518 [debug] Current batch of media processed. Will check again in 1000ms 11:17:11.531 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 602, "filename" => "/downloads/H3 Podcast/2022-03-04 (Members) H3 Podcast BTS #17/(Members) H3 Podcast BTS #17 [DiaGak_WUuc].NA", "id" => "DiaGak_WUuc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DiaGak_WUuc", "playlist_index" => 87, "timestamp" => 1646428651, "title" => "(Members) H3 Podcast BTS #17", "upload_date" => "20220304"} 11:17:11.543 [debug] QUERY OK source="sources" db=7.8ms queue=0.6ms idle=1021.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:11.551 [debug] QUERY OK source="sources" db=3.9ms queue=0.6ms idle=1031.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:11.557 [debug] QUERY OK source="media_items" db=4.4ms queue=0.3ms idle=1034.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-03-04 21:17:31Z], 1] 11:17:11.566 [debug] QUERY OK source="media_items" db=7.0ms queue=0.2ms idle=80.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #17", "5a9303e8-c246-4172-b5fe-6a85f3d488e9", 602, false, "DiaGak_WUuc", "https://www.youtube.com/watch?v=DiaGak_WUuc", 87, "/downloads/H3 Podcast/2022-03-04 (Members) H3 Podcast BTS #17/(Members) H3 Podcast BTS #17 [DiaGak_WUuc].NA", false, false, false, 1, [], 99, ~U[2022-03-04 21:17:31Z], ~U[2026-04-11 23:17:11Z], ~U[2026-04-11 23:17:11Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #17", 602, false, "DiaGak_WUuc", "https://www.youtube.com/watch?v=DiaGak_WUuc", "/downloads/H3 Podcast/2022-03-04 (Members) H3 Podcast BTS #17/(Members) H3 Podcast BTS #17 [DiaGak_WUuc].NA", false, 1, ~U[2022-03-04 21:17:31Z]] 11:17:11.568 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=80.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:11.570 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=25.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:11.573 [debug] QUERY OK source="media_items" db=1.9ms idle=20.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [87] 11:17:11.573 [debug] Current batch of media processed. Will check again in 1000ms 11:17:12.577 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2436, "filename" => "/downloads/H3 Podcast/2022-02-18 (Members) H3 Podcast BTS #16/(Members) H3 Podcast BTS #16 [y18sh3FSRyU].NA", "id" => "y18sh3FSRyU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y18sh3FSRyU", "playlist_index" => 88, "timestamp" => 1645217968, "title" => "(Members) H3 Podcast BTS #16", "upload_date" => "20220218"} 11:17:12.578 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=1009.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:12.580 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:12.585 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=1007.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-02-18 20:59:28Z], 1] 11:17:12.596 [debug] QUERY OK source="media_items" db=7.9ms queue=0.2ms idle=94.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #16", "43d6950a-b170-41e1-ac8e-5c61507609b3", 2436, false, "y18sh3FSRyU", "https://www.youtube.com/watch?v=y18sh3FSRyU", 88, "/downloads/H3 Podcast/2022-02-18 (Members) H3 Podcast BTS #16/(Members) H3 Podcast BTS #16 [y18sh3FSRyU].NA", false, false, false, 1, [], 99, ~U[2022-02-18 20:59:28Z], ~U[2026-04-11 23:17:12Z], ~U[2026-04-11 23:17:12Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #16", 2436, false, "y18sh3FSRyU", "https://www.youtube.com/watch?v=y18sh3FSRyU", "/downloads/H3 Podcast/2022-02-18 (Members) H3 Podcast BTS #16/(Members) H3 Podcast BTS #16 [y18sh3FSRyU].NA", false, 1, ~U[2022-02-18 20:59:28Z]] 11:17:12.599 [debug] QUERY OK source="sources" db=2.3ms queue=0.2ms idle=95.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:12.600 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=21.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:12.603 [debug] QUERY OK source="media_items" db=1.7ms queue=0.2ms idle=21.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 [88] 11:17:12.604 [debug] Current batch of media processed. Will check again in 1000ms 11:17:13.605 [debug] Current batch of media processed. Will check again in 1000ms 11:17:14.608 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 865, "filename" => "/downloads/H3 Podcast/2022-01-28 (Members) H3 Podcast BTS #15/(Members) H3 Podcast BTS #15 [EgXyYvzH1r0].NA", "id" => "EgXyYvzH1r0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EgXyYvzH1r0", "playlist_index" => 89, "timestamp" => 1643413239, "title" => "(Members) H3 Podcast BTS #15", "upload_date" => "20220128"} 11:17:14.612 [debug] QUERY OK source="sources" db=2.1ms queue=0.2ms idle=883.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:14.615 [debug] QUERY OK source="sources" db=2.7ms queue=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" = ?) [1] 11:17:14.621 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=890.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-28 23:40:39Z], 1] 11:17:14.637 [debug] QUERY OK source="media_items" db=14.5ms queue=0.1ms idle=113.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #15", "b2d5ebec-ea86-4ec7-a88f-97a430e27e4d", 865, false, "EgXyYvzH1r0", "https://www.youtube.com/watch?v=EgXyYvzH1r0", 89, "/downloads/H3 Podcast/2022-01-28 (Members) H3 Podcast BTS #15/(Members) H3 Podcast BTS #15 [EgXyYvzH1r0].NA", false, false, false, 1, [], 99, ~U[2022-01-28 23:40:39Z], ~U[2026-04-11 23:17:14Z], ~U[2026-04-11 23:17:14Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #15", 865, false, "EgXyYvzH1r0", "https://www.youtube.com/watch?v=EgXyYvzH1r0", "/downloads/H3 Podcast/2022-01-28 (Members) H3 Podcast BTS #15/(Members) H3 Podcast BTS #15 [EgXyYvzH1r0].NA", false, 1, ~U[2022-01-28 23:40:39Z]] 11:17:14.641 [debug] QUERY OK source="sources" db=2.7ms queue=0.2ms idle=121.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:14.644 [debug] QUERY OK source="media_profiles" db=1.5ms queue=1.0ms idle=29.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:14.647 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=29.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 [89] 11:17:14.647 [debug] Current batch of media processed. Will check again in 1000ms 11:17:15.651 [debug] Current batch of media processed. Will check again in 1000ms 11:17:16.663 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Dr. Squatch (https://bit.ly/3qUMAsU and use code: DSQH3) & http://masterclass.com/afterdark for sponsoring this episode!\nAnd a big thank you to @DefNoodles for co-hosting this year's Steamies!!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6120, "filename" => "/downloads/H3 Podcast/2022-01-28 Surprise Reunion For 2nd Annual Steamies/Surprise Reunion For 2nd Annual Steamies [daxr0SkHQm0].mp4", "id" => "daxr0SkHQm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=daxr0SkHQm0", "playlist_index" => 90, "timestamp" => 1643399173, "title" => "Surprise Reunion For 2nd Annual Steamies", "upload_date" => "20220128"} 11:17:16.673 [debug] QUERY OK source="sources" db=5.1ms queue=0.9ms idle=936.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:16.681 [debug] QUERY OK source="sources" db=2.3ms queue=1.1ms idle=947.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:16.692 [debug] QUERY OK source="media_items" db=8.6ms queue=0.2ms idle=953.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-28 19:46:13Z], 1] 11:17:16.704 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=148.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Dr. Squatch (https://bit.ly/3qUMAsU and use code: DSQH3) & http://masterclass.com/afterdark for sponsoring this episode!\nAnd a big thank you to @DefNoodles for co-hosting this year's Steamies!!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Surprise Reunion For 2nd Annual Steamies", "063dd9f5-3391-4b7e-be92-52f2bc0de03a", 6120, false, "daxr0SkHQm0", "https://www.youtube.com/watch?v=daxr0SkHQm0", 90, "/downloads/H3 Podcast/2022-01-28 Surprise Reunion For 2nd Annual Steamies/Surprise Reunion For 2nd Annual Steamies [daxr0SkHQm0].mp4", false, false, false, 1, [], 98, ~U[2022-01-28 19:46:13Z], ~U[2026-04-11 23:17:16Z], ~U[2026-04-11 23:17:16Z], "Thank you to Dr. Squatch (https://bit.ly/3qUMAsU and use code: DSQH3) & http://masterclass.com/afterdark for sponsoring this episode!\nAnd a big thank you to @DefNoodles for co-hosting this year's Steamies!!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Surprise Reunion For 2nd Annual Steamies", 6120, false, "daxr0SkHQm0", "https://www.youtube.com/watch?v=daxr0SkHQm0", "/downloads/H3 Podcast/2022-01-28 Surprise Reunion For 2nd Annual Steamies/Surprise Reunion For 2nd Annual Steamies [daxr0SkHQm0].mp4", false, 1, ~U[2022-01-28 19:46:13Z]] 11:17:16.709 [debug] QUERY OK source="sources" db=1.6ms queue=0.3ms idle=154.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:16.711 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.1ms idle=37.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:16.714 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=31.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 [90] 11:17:16.715 [debug] Current batch of media processed. Will check again in 1000ms 11:17:17.718 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6120, "filename" => "/downloads/H3 Podcast/2022-01-28 (Members) 2nd Annual Steamies Ft. Surprise Co-Host/(Members) 2nd Annual Steamies Ft. Surprise Co-Host [XouXK7mXRnU].NA", "id" => "XouXK7mXRnU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XouXK7mXRnU", "playlist_index" => 91, "timestamp" => 1643342558, "title" => "(Members) 2nd Annual Steamies Ft. Surprise Co-Host", "upload_date" => "20220128"} 11:17:17.726 [debug] QUERY OK source="sources" db=3.7ms queue=0.9ms idle=1012.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:17.732 [debug] QUERY OK source="sources" db=2.8ms queue=0.5ms idle=1016.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:17.740 [debug] QUERY OK source="media_items" db=6.5ms queue=0.3ms idle=1019.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-28 04:02:38Z], 1] 11:17:17.760 [debug] QUERY OK source="media_items" db=17.6ms queue=0.1ms idle=192.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) 2nd Annual Steamies Ft. Surprise Co-Host", "f4a0cb46-6ac9-4dc9-b16a-9b92fcd154fa", 6120, false, "XouXK7mXRnU", "https://www.youtube.com/watch?v=XouXK7mXRnU", 91, "/downloads/H3 Podcast/2022-01-28 (Members) 2nd Annual Steamies Ft. Surprise Co-Host/(Members) 2nd Annual Steamies Ft. Surprise Co-Host [XouXK7mXRnU].NA", false, false, false, 1, [], 97, ~U[2022-01-28 04:02:38Z], ~U[2026-04-11 23:17:17Z], ~U[2026-04-11 23:17:17Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) 2nd Annual Steamies Ft. Surprise Co-Host", 6120, false, "XouXK7mXRnU", "https://www.youtube.com/watch?v=XouXK7mXRnU", "/downloads/H3 Podcast/2022-01-28 (Members) 2nd Annual Steamies Ft. Surprise Co-Host/(Members) 2nd Annual Steamies Ft. Surprise Co-Host [XouXK7mXRnU].NA", false, 1, ~U[2022-01-28 04:02:38Z]] 11:17:17.762 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=203.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:17.763 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=36.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:17.766 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=32.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 [91] 11:17:17.767 [debug] Current batch of media processed. Will check again in 1000ms 11:17:18.767 [debug] Current batch of media processed. Will check again in 1000ms 11:17:19.788 [debug] Current batch of media processed. Will check again in 1000ms 11:17:20.790 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://babbel.com (use code: H3) & http://joinhoney.com/h3 & http://meundies.com/h3 & http://expressVPN.com/h3 (go to http://expressvpn.com/h3 to get an extra 3 months free on a 1-year package) for sponsoring this episode!\nGet tickets to Oliver's tour at http://olivertreemusic.com/tour\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7405, "filename" => "/downloads/H3 Podcast/2022-01-27 Oliver Tree - H3 Podcast #248/Oliver Tree - H3 Podcast #248 [ez_bTUjWG5Y].mp4", "id" => "ez_bTUjWG5Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ez_bTUjWG5Y", "playlist_index" => 92, "timestamp" => 1643326487, "title" => "Oliver Tree - H3 Podcast #248", "upload_date" => "20220127"} 11:17:20.793 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=1004.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:20.796 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=1007.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:20.803 [debug] QUERY OK source="media_items" db=5.9ms queue=0.3ms idle=1009.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-27 23:34:47Z], 1] 11:17:20.814 [debug] QUERY OK source="media_items" db=9.3ms queue=0.1ms idle=228.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://babbel.com (use code: H3) & http://joinhoney.com/h3 & http://meundies.com/h3 & http://expressVPN.com/h3 (go to http://expressvpn.com/h3 to get an extra 3 months free on a 1-year package) for sponsoring this episode!\nGet tickets to Oliver's tour at http://olivertreemusic.com/tour\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Oliver Tree - H3 Podcast #248", "161ec7a0-792f-4c12-a800-ce6b79c0d581", 7405, false, "ez_bTUjWG5Y", "https://www.youtube.com/watch?v=ez_bTUjWG5Y", 92, "/downloads/H3 Podcast/2022-01-27 Oliver Tree - H3 Podcast #248/Oliver Tree - H3 Podcast #248 [ez_bTUjWG5Y].mp4", false, false, false, 1, [], 99, ~U[2022-01-27 23:34:47Z], ~U[2026-04-11 23:17:20Z], ~U[2026-04-11 23:17:20Z], "Thank you to http://babbel.com (use code: H3) & http://joinhoney.com/h3 & http://meundies.com/h3 & http://expressVPN.com/h3 (go to http://expressvpn.com/h3 to get an extra 3 months free on a 1-year package) for sponsoring this episode!\nGet tickets to Oliver's tour at http://olivertreemusic.com/tour\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Oliver Tree - H3 Podcast #248", 7405, false, "ez_bTUjWG5Y", "https://www.youtube.com/watch?v=ez_bTUjWG5Y", "/downloads/H3 Podcast/2022-01-27 Oliver Tree - H3 Podcast #248/Oliver Tree - H3 Podcast #248 [ez_bTUjWG5Y].mp4", false, 1, ~U[2022-01-27 23:34:47Z]] 11:17:20.816 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=225.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:20.819 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.1ms idle=24.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:20.821 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=23.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 [92] 11:17:20.821 [debug] Current batch of media processed. Will check again in 1000ms 11:17:21.824 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 906, "filename" => "/downloads/H3 Podcast/2022-01-22 (Members) H3 Podcast BTS #14/(Members) H3 Podcast BTS #14 [edEhlsk_hQw].NA", "id" => "edEhlsk_hQw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=edEhlsk_hQw", "playlist_index" => 93, "timestamp" => 1642811532, "title" => "(Members) H3 Podcast BTS #14", "upload_date" => "20220122"} 11:17:21.827 [debug] QUERY OK source="sources" db=1.0ms queue=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:21.830 [debug] QUERY OK source="sources" db=1.6ms queue=0.2ms idle=1008.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:21.834 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=1009.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-22 00:32:12Z], 1] 11:17:21.841 [debug] QUERY OK source="media_items" db=4.9ms queue=0.1ms idle=253.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #14", "a9837335-9508-47dd-a2a9-36228e7c9b37", 906, false, "edEhlsk_hQw", "https://www.youtube.com/watch?v=edEhlsk_hQw", 93, "/downloads/H3 Podcast/2022-01-22 (Members) H3 Podcast BTS #14/(Members) H3 Podcast BTS #14 [edEhlsk_hQw].NA", false, false, false, 1, [], 99, ~U[2022-01-22 00:32:12Z], ~U[2026-04-11 23:17:21Z], ~U[2026-04-11 23:17:21Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #14", 906, false, "edEhlsk_hQw", "https://www.youtube.com/watch?v=edEhlsk_hQw", "/downloads/H3 Podcast/2022-01-22 (Members) H3 Podcast BTS #14/(Members) H3 Podcast BTS #14 [edEhlsk_hQw].NA", false, 1, ~U[2022-01-22 00:32:12Z]] 11:17:21.843 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms idle=249.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:21.846 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.2ms idle=17.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:21.849 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=16.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 [93] 11:17:21.849 [debug] Current batch of media processed. Will check again in 1000ms 11:17:22.860 [debug] Current batch of media processed. Will check again in 1000ms 11:17:23.864 [debug] Current batch of media processed. Will check again in 1000ms 11:17:24.867 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://curology.com/h3 & http://liquidIv.com (use code: H3) & http://mintmobile.com/h3 & http://harrys.com/h3 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7574, "filename" => "/downloads/H3 Podcast/2022-01-20 How We Scammed Logan Paul - Off The Rails #23/How We Scammed Logan Paul - Off The Rails #23 [xnCJkzvMEy0].mp4", "id" => "xnCJkzvMEy0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xnCJkzvMEy0", "playlist_index" => 94, "timestamp" => 1642712671, "title" => "How We Scammed Logan Paul - Off The Rails #23", "upload_date" => "20220120"} 11:17:24.870 [debug] QUERY OK source="sources" db=1.4ms queue=0.4ms idle=1114.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:24.875 [debug] QUERY OK source="sources" db=2.2ms queue=0.2ms idle=1118.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:24.884 [debug] QUERY OK source="media_items" db=8.0ms queue=0.1ms idle=1121.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-20 21:04:31Z], 1] 11:17:24.898 [debug] QUERY OK source="media_items" db=10.8ms queue=0.1ms idle=260.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://curology.com/h3 & http://liquidIv.com (use code: H3) & http://mintmobile.com/h3 & http://harrys.com/h3 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "How We Scammed Logan Paul - Off The Rails #23", "2bd6e27b-4bca-4713-ba67-c102d1203449", 7574, false, "xnCJkzvMEy0", "https://www.youtube.com/watch?v=xnCJkzvMEy0", 94, "/downloads/H3 Podcast/2022-01-20 How We Scammed Logan Paul - Off The Rails #23/How We Scammed Logan Paul - Off The Rails #23 [xnCJkzvMEy0].mp4", false, false, false, 1, [], 99, ~U[2022-01-20 21:04:31Z], ~U[2026-04-11 23:17:24Z], ~U[2026-04-11 23:17:24Z], "Thank you to http://curology.com/h3 & http://liquidIv.com (use code: H3) & http://mintmobile.com/h3 & http://harrys.com/h3 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "How We Scammed Logan Paul - Off The Rails #23", 7574, false, "xnCJkzvMEy0", "https://www.youtube.com/watch?v=xnCJkzvMEy0", "/downloads/H3 Podcast/2022-01-20 How We Scammed Logan Paul - Off The Rails #23/How We Scammed Logan Paul - Off The Rails #23 [xnCJkzvMEy0].mp4", false, 1, ~U[2022-01-20 21:04:31Z]] 11:17:24.901 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=263.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:24.903 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=31.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:24.907 [debug] QUERY OK source="media_items" db=2.2ms queue=0.3ms idle=29.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 [94] 11:17:24.907 [debug] Current batch of media processed. Will check again in 1000ms 11:17:25.909 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7269, "filename" => "/downloads/H3 Podcast/2022-01-20 (Members) Off The Rails #23/(Members) Off The Rails #23 [IZdSclj2Lys].NA", "id" => "IZdSclj2Lys", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IZdSclj2Lys", "playlist_index" => 95, "timestamp" => 1642643010, "title" => "(Members) Off The Rails #23", "upload_date" => "20220120"} 11:17:25.912 [debug] QUERY OK source="sources" db=1.0ms queue=0.3ms idle=1009.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:25.914 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1009.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:25.919 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=1007.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-20 01:43:30Z], 1] 11:17:25.928 [debug] QUERY OK source="media_items" db=6.6ms queue=0.1ms idle=289.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Off The Rails #23", "d7b45d2f-cacd-4e54-90fe-58182f63c58d", 7269, false, "IZdSclj2Lys", "https://www.youtube.com/watch?v=IZdSclj2Lys", 95, "/downloads/H3 Podcast/2022-01-20 (Members) Off The Rails #23/(Members) Off The Rails #23 [IZdSclj2Lys].NA", false, false, false, 1, [], 98, ~U[2022-01-20 01:43:30Z], ~U[2026-04-11 23:17:25Z], ~U[2026-04-11 23:17:25Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Off The Rails #23", 7269, false, "IZdSclj2Lys", "https://www.youtube.com/watch?v=IZdSclj2Lys", "/downloads/H3 Podcast/2022-01-20 (Members) Off The Rails #23/(Members) Off The Rails #23 [IZdSclj2Lys].NA", false, 1, ~U[2022-01-20 01:43:30Z]] 11:17:25.930 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=288.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:25.932 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.2ms idle=18.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:25.935 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=18.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [95] 11:17:25.935 [debug] Current batch of media processed. Will check again in 1000ms 11:17:26.947 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1133, "filename" => "/downloads/H3 Podcast/2021-12-17 (Members) H3 Podcast BTS #13/(Members) H3 Podcast BTS #13 [F95h2-qNov0].NA", "id" => "F95h2-qNov0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=F95h2-qNov0", "playlist_index" => 96, "timestamp" => 1639780876, "title" => "(Members) H3 Podcast BTS #13", "upload_date" => "20211217"} 11:17:26.949 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=1017.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:26.951 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1018.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:26.956 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=1016.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-17 22:41:16Z], 1] 11:17:26.964 [debug] QUERY OK source="media_items" db=6.2ms queue=0.1ms idle=318.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #13", "695cca3a-0d14-42bb-a293-31a95ad9c57e", 1133, false, "F95h2-qNov0", "https://www.youtube.com/watch?v=F95h2-qNov0", 96, "/downloads/H3 Podcast/2021-12-17 (Members) H3 Podcast BTS #13/(Members) H3 Podcast BTS #13 [F95h2-qNov0].NA", false, false, false, 1, [], 99, ~U[2021-12-17 22:41:16Z], ~U[2026-04-11 23:17:26Z], ~U[2026-04-11 23:17:26Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #13", 1133, false, "F95h2-qNov0", "https://www.youtube.com/watch?v=F95h2-qNov0", "/downloads/H3 Podcast/2021-12-17 (Members) H3 Podcast BTS #13/(Members) H3 Podcast BTS #13 [F95h2-qNov0].NA", false, 1, ~U[2021-12-17 22:41:16Z]] 11:17:26.966 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=318.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:26.967 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=17.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:26.969 [debug] QUERY OK source="media_items" db=1.6ms idle=16.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 [96] 11:17:26.970 [debug] Current batch of media processed. Will check again in 1000ms 11:17:27.979 [debug] Current batch of media processed. Will check again in 1000ms 11:17:28.982 [debug] Current batch of media processed. Will check again in 1000ms 11:17:29.991 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Big thank you to Dr. Eric Feigl-Ding for calling in to black pill us on Omicron! You can find Dr. Ding on twitter at http://twitter.com/DrEricDing & on substack at http://substack.com/profile/1999588-eric-feigl-ding\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7126, "filename" => "/downloads/H3 Podcast/2021-12-12 Jordan Peterson REDEMPTION ARC?! - Leftovers #10/Jordan Peterson REDEMPTION ARC?! - Leftovers #10 [X_IAposyoTQ].mp4", "id" => "X_IAposyoTQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X_IAposyoTQ", "playlist_index" => 97, "timestamp" => 1639340736, "title" => "Jordan Peterson REDEMPTION ARC?! - Leftovers #10", "upload_date" => "20211212"} 11:17:29.998 [debug] QUERY OK source="sources" db=3.0ms queue=0.7ms idle=1226.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:30.002 [debug] QUERY OK source="sources" db=1.2ms queue=0.4ms idle=1232.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:30.017 [debug] QUERY OK source="media_items" db=13.7ms queue=0.2ms idle=1235.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-12 20:25:36Z], 1] 11:17:30.034 [debug] QUERY OK source="media_items" db=12.9ms queue=0.2ms idle=350.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Big thank you to Dr. Eric Feigl-Ding for calling in to black pill us on Omicron! You can find Dr. Ding on twitter at http://twitter.com/DrEricDing & on substack at http://substack.com/profile/1999588-eric-feigl-ding\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Jordan Peterson REDEMPTION ARC?! - Leftovers #10", "77b16898-919b-44a4-8923-0c1390df3586", 7126, false, "X_IAposyoTQ", "https://www.youtube.com/watch?v=X_IAposyoTQ", 97, "/downloads/H3 Podcast/2021-12-12 Jordan Peterson REDEMPTION ARC?! - Leftovers #10/Jordan Peterson REDEMPTION ARC?! - Leftovers #10 [X_IAposyoTQ].mp4", false, false, false, 1, [], 99, ~U[2021-12-12 20:25:36Z], ~U[2026-04-11 23:17:30Z], ~U[2026-04-11 23:17:30Z], "Big thank you to Dr. Eric Feigl-Ding for calling in to black pill us on Omicron! You can find Dr. Ding on twitter at http://twitter.com/DrEricDing & on substack at http://substack.com/profile/1999588-eric-feigl-ding\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Jordan Peterson REDEMPTION ARC?! - Leftovers #10", 7126, false, "X_IAposyoTQ", "https://www.youtube.com/watch?v=X_IAposyoTQ", "/downloads/H3 Podcast/2021-12-12 Jordan Peterson REDEMPTION ARC?! - Leftovers #10/Jordan Peterson REDEMPTION ARC?! - Leftovers #10 [X_IAposyoTQ].mp4", false, 1, ~U[2021-12-12 20:25:36Z]] 11:17:30.036 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=353.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:30.038 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=39.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:30.040 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=36.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 [97] 11:17:30.041 [debug] Current batch of media processed. Will check again in 1000ms 11:17:31.043 [debug] Current batch of media processed. Will check again in 1000ms 11:17:32.045 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1046, "filename" => "/downloads/H3 Podcast/2021-12-10 (Members) H3 Podcast BTS #12/(Members) H3 Podcast BTS #12 [xBk35mB9f5Q].NA", "id" => "xBk35mB9f5Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xBk35mB9f5Q", "playlist_index" => 98, "timestamp" => 1639166751, "title" => "(Members) H3 Podcast BTS #12", "upload_date" => "20211210"} 11:17:32.048 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=334.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:32.053 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=320.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:32.059 [debug] QUERY OK source="media_items" db=5.4ms queue=0.1ms idle=265.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-10 20:05:51Z], 1] 11:17:32.069 [debug] QUERY OK source="media_items" db=7.8ms queue=0.1ms idle=272.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #12", "0af19cf6-0b1e-49de-a36a-9dd50ad54ca9", 1046, false, "xBk35mB9f5Q", "https://www.youtube.com/watch?v=xBk35mB9f5Q", 98, "/downloads/H3 Podcast/2021-12-10 (Members) H3 Podcast BTS #12/(Members) H3 Podcast BTS #12 [xBk35mB9f5Q].NA", false, false, false, 1, [], 99, ~U[2021-12-10 20:05:51Z], ~U[2026-04-11 23:17:32Z], ~U[2026-04-11 23:17:32Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #12", 1046, false, "xBk35mB9f5Q", "https://www.youtube.com/watch?v=xBk35mB9f5Q", "/downloads/H3 Podcast/2021-12-10 (Members) H3 Podcast BTS #12/(Members) H3 Podcast BTS #12 [xBk35mB9f5Q].NA", false, 1, ~U[2021-12-10 20:05:51Z]] 11:17:32.073 [debug] QUERY OK source="sources" db=3.1ms queue=0.2ms idle=281.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:32.076 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.8ms 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] 11:17:32.082 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=24.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 [98] 11:17:32.084 [debug] Current batch of media processed. Will check again in 1000ms 11:17:33.096 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7126, "filename" => "/downloads/H3 Podcast/2021-12-10 (Members) Things Got Heated - Leftovers #10/(Members) Things Got Heated - Leftovers #10 [6CH4mMFmPjQ].NA", "id" => "6CH4mMFmPjQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6CH4mMFmPjQ", "playlist_index" => 99, "timestamp" => 1639121836, "title" => "(Members) Things Got Heated - Leftovers #10", "upload_date" => "20211210"} 11:17:33.115 [debug] QUERY OK source="sources" db=12.8ms queue=1.0ms idle=1028.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:33.121 [debug] QUERY OK source="sources" db=2.4ms queue=0.3ms idle=1041.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:33.127 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=1038.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-10 07:37:16Z], 1] 11:17:33.135 [debug] QUERY OK source="media_items" db=6.5ms queue=0.1ms idle=393.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Things Got Heated - Leftovers #10", "7cd60a02-b731-47f3-9c4c-003be2815435", 7126, false, "6CH4mMFmPjQ", "https://www.youtube.com/watch?v=6CH4mMFmPjQ", 99, "/downloads/H3 Podcast/2021-12-10 (Members) Things Got Heated - Leftovers #10/(Members) Things Got Heated - Leftovers #10 [6CH4mMFmPjQ].NA", false, false, false, 1, [], 98, ~U[2021-12-10 07:37:16Z], ~U[2026-04-11 23:17:33Z], ~U[2026-04-11 23:17:33Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Things Got Heated - Leftovers #10", 7126, false, "6CH4mMFmPjQ", "https://www.youtube.com/watch?v=6CH4mMFmPjQ", "/downloads/H3 Podcast/2021-12-10 (Members) Things Got Heated - Leftovers #10/(Members) Things Got Heated - Leftovers #10 [6CH4mMFmPjQ].NA", false, 1, ~U[2021-12-10 07:37:16Z]] 11:17:33.138 [debug] QUERY OK source="sources" db=1.1ms queue=1.1ms idle=383.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:33.140 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=23.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:33.143 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=20.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [99] 11:17:33.143 [debug] Current batch of media processed. Will check again in 1000ms 11:17:34.147 [debug] Current batch of media processed. Will check again in 1000ms 11:17:34.616 [info] {"source":"oban","duration":5336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:35.161 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://hbom.ax/h3railsdec & http://curology.com/h3 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6206, "filename" => "/downloads/H3 Podcast/2021-12-09 Families Reunion Holiday Special/Families Reunion Holiday Special [6eKA1zsLvSM].mp4", "id" => "6eKA1zsLvSM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6eKA1zsLvSM", "playlist_index" => 100, "timestamp" => 1639083601, "title" => "Families Reunion Holiday Special", "upload_date" => "20211209"} 11:17:35.173 [debug] QUERY OK source="sources" db=7.0ms queue=1.1ms idle=548.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:35.178 [debug] QUERY OK source="sources" db=1.9ms queue=0.3ms 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" = ?) [1] 11:17:35.187 [debug] QUERY OK source="media_items" db=7.8ms queue=0.2ms idle=416.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-09 21:00:01Z], 1] 11:17:35.198 [debug] QUERY OK source="media_items" db=9.1ms queue=0.1ms idle=389.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://hbom.ax/h3railsdec & http://curology.com/h3 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Families Reunion Holiday Special", "f63a6037-3ef1-4156-9db6-d8e6072d69a6", 6206, false, "6eKA1zsLvSM", "https://www.youtube.com/watch?v=6eKA1zsLvSM", 100, "/downloads/H3 Podcast/2021-12-09 Families Reunion Holiday Special/Families Reunion Holiday Special [6eKA1zsLvSM].mp4", false, false, false, 1, [], 99, ~U[2021-12-09 21:00:01Z], ~U[2026-04-11 23:17:35Z], ~U[2026-04-11 23:17:35Z], "Thank you to http://hbom.ax/h3railsdec & http://curology.com/h3 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Families Reunion Holiday Special", 6206, false, "6eKA1zsLvSM", "https://www.youtube.com/watch?v=6eKA1zsLvSM", "/downloads/H3 Podcast/2021-12-09 Families Reunion Holiday Special/Families Reunion Holiday Special [6eKA1zsLvSM].mp4", false, 1, ~U[2021-12-09 21:00:01Z]] 11:17:35.200 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=399.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:35.202 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=28.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:35.205 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=25.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 [100] 11:17:35.205 [debug] Current batch of media processed. Will check again in 1000ms 11:17:36.210 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5915, "filename" => "/downloads/H3 Podcast/2021-12-09 (Members) Families REUNION SPECIAL!!!/(Members) Families REUNION SPECIAL!!! [nEYCr_rKVsM].NA", "id" => "nEYCr_rKVsM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nEYCr_rKVsM", "playlist_index" => 101, "timestamp" => 1639021665, "title" => "(Members) Families REUNION SPECIAL!!!", "upload_date" => "20211209"} 11:17:36.214 [debug] QUERY OK source="sources" db=2.0ms queue=0.3ms idle=1011.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:36.216 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=1012.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:36.224 [debug] QUERY OK source="media_items" db=6.3ms queue=0.1ms idle=1012.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-09 03:47:45Z], 1] 11:17:36.239 [debug] QUERY OK source="media_items" db=11.6ms queue=0.3ms idle=466.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Families REUNION SPECIAL!!!", "b6fd7bd6-8557-44a6-8e69-2369c42ded50", 5915, false, "nEYCr_rKVsM", "https://www.youtube.com/watch?v=nEYCr_rKVsM", 101, "/downloads/H3 Podcast/2021-12-09 (Members) Families REUNION SPECIAL!!!/(Members) Families REUNION SPECIAL!!! [nEYCr_rKVsM].NA", false, false, false, 1, [], 98, ~U[2021-12-09 03:47:45Z], ~U[2026-04-11 23:17:36Z], ~U[2026-04-11 23:17:36Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Families REUNION SPECIAL!!!", 5915, false, "nEYCr_rKVsM", "https://www.youtube.com/watch?v=nEYCr_rKVsM", "/downloads/H3 Podcast/2021-12-09 (Members) Families REUNION SPECIAL!!!/(Members) Families REUNION SPECIAL!!! [nEYCr_rKVsM].NA", false, 1, ~U[2021-12-09 03:47:45Z]] 11:17:36.243 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=471.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:36.247 [debug] QUERY OK source="media_profiles" db=1.8ms queue=1.4ms idle=30.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:36.254 [debug] QUERY OK source="media_items" db=3.3ms queue=0.5ms idle=33.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 [101] 11:17:36.255 [debug] Current batch of media processed. Will check again in 1000ms 11:17:37.256 [debug] Current batch of media processed. Will check again in 1000ms 11:17:38.259 [debug] Current batch of media processed. Will check again in 1000ms 11:17:39.271 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://buyraycon.com/leftovers for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7731, "filename" => "/downloads/H3 Podcast/2021-12-05 Joe Rogan Posted Cringe, Jordan Peterson, Lauren Boebert - Leftovers #9/Joe Rogan Posted Cringe, Jordan Peterson, Lauren Boebert - Leftovers #9 [AG7iuZnNLYE].mp4", "id" => "AG7iuZnNLYE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AG7iuZnNLYE", "playlist_index" => 102, "timestamp" => 1638734382, "title" => "Joe Rogan Posted Cringe, Jordan Peterson, Lauren Boebert - Leftovers #9", "upload_date" => "20211205"} 11:17:39.281 [debug] QUERY OK source="sources" db=4.3ms decode=0.1ms queue=1.2ms idle=1157.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:39.287 [debug] QUERY OK source="sources" db=0.8ms queue=0.7ms idle=1146.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:39.299 [debug] QUERY OK source="media_items" db=10.9ms queue=0.1ms idle=1134.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-05 19:59:42Z], 1] 11:17:39.310 [debug] QUERY OK source="media_items" db=8.3ms queue=0.1ms idle=148.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://buyraycon.com/leftovers for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Joe Rogan Posted Cringe, Jordan Peterson, Lauren Boebert - Leftovers #9", "d647b4ab-2059-4127-ae3f-90efb46e2e73", 7731, false, "AG7iuZnNLYE", "https://www.youtube.com/watch?v=AG7iuZnNLYE", 102, "/downloads/H3 Podcast/2021-12-05 Joe Rogan Posted Cringe, Jordan Peterson, Lauren Boebert - Leftovers #9/Joe Rogan Posted Cringe, Jordan Peterson, Lauren Boebert - Leftovers #9 [AG7iuZnNLYE].mp4", false, false, false, 1, [], 99, ~U[2021-12-05 19:59:42Z], ~U[2026-04-11 23:17:39Z], ~U[2026-04-11 23:17:39Z], "Thank you to http://buyraycon.com/leftovers for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Joe Rogan Posted Cringe, Jordan Peterson, Lauren Boebert - Leftovers #9", 7731, false, "AG7iuZnNLYE", "https://www.youtube.com/watch?v=AG7iuZnNLYE", "/downloads/H3 Podcast/2021-12-05 Joe Rogan Posted Cringe, Jordan Peterson, Lauren Boebert - Leftovers #9/Joe Rogan Posted Cringe, Jordan Peterson, Lauren Boebert - Leftovers #9 [AG7iuZnNLYE].mp4", false, 1, ~U[2021-12-05 19:59:42Z]] 11:17:39.319 [debug] QUERY OK source="sources" db=7.9ms queue=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" = ?) [1] 11:17:39.320 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=39.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:39.324 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=34.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 [102] 11:17:39.324 [debug] Current batch of media processed. Will check again in 1000ms 11:17:40.332 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 707, "filename" => "/downloads/H3 Podcast/2021-12-03 (Members) H3 Podcast BTS #11/(Members) H3 Podcast BTS #11 [hpyebxLISvM].NA", "id" => "hpyebxLISvM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hpyebxLISvM", "playlist_index" => 103, "timestamp" => 1638564354, "title" => "(Members) H3 Podcast BTS #11", "upload_date" => "20211203"} 11:17:40.336 [debug] QUERY OK source="sources" db=1.6ms queue=0.3ms idle=1014.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:40.338 [debug] QUERY OK source="sources" db=1.2ms queue=0.7ms idle=1015.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:40.345 [debug] QUERY OK source="media_items" db=5.8ms queue=0.1ms idle=1015.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-03 20:45:54Z], 1] 11:17:40.352 [debug] QUERY OK source="media_items" db=5.6ms queue=0.1ms idle=189.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #11", "66e0bac6-bc53-41c6-86fc-d07baa7996b4", 707, false, "hpyebxLISvM", "https://www.youtube.com/watch?v=hpyebxLISvM", 103, "/downloads/H3 Podcast/2021-12-03 (Members) H3 Podcast BTS #11/(Members) H3 Podcast BTS #11 [hpyebxLISvM].NA", false, false, false, 1, [], 99, ~U[2021-12-03 20:45:54Z], ~U[2026-04-11 23:17:40Z], ~U[2026-04-11 23:17:40Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #11", 707, false, "hpyebxLISvM", "https://www.youtube.com/watch?v=hpyebxLISvM", "/downloads/H3 Podcast/2021-12-03 (Members) H3 Podcast BTS #11/(Members) H3 Podcast BTS #11 [hpyebxLISvM].NA", false, 1, ~U[2021-12-03 20:45:54Z]] 11:17:40.355 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=186.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:40.357 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.2ms idle=19.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:40.361 [debug] QUERY OK source="media_items" db=2.3ms queue=0.2ms idle=20.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [103] 11:17:40.362 [debug] Current batch of media processed. Will check again in 1000ms 11:17:41.368 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7604, "filename" => "/downloads/H3 Podcast/2021-12-03 (Members) Something Is About To Bust - Leftovers #9/(Members) Something Is About To Bust - Leftovers #9 [OwMNmsLlZaE].NA", "id" => "OwMNmsLlZaE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OwMNmsLlZaE", "playlist_index" => 104, "timestamp" => 1638508610, "title" => "(Members) Something Is About To Bust - Leftovers #9", "upload_date" => "20211203"} 11:17:41.371 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=1014.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:41.373 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=1014.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:41.379 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=1012.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-03 05:16:50Z], 1] 11:17:41.390 [debug] QUERY OK source="media_items" db=7.3ms queue=0.1ms idle=212.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Something Is About To Bust - Leftovers #9", "a9c30e5b-6a23-4106-be6d-bc7545568f65", 7604, false, "OwMNmsLlZaE", "https://www.youtube.com/watch?v=OwMNmsLlZaE", 104, "/downloads/H3 Podcast/2021-12-03 (Members) Something Is About To Bust - Leftovers #9/(Members) Something Is About To Bust - Leftovers #9 [OwMNmsLlZaE].NA", false, false, false, 1, [], 98, ~U[2021-12-03 05:16:50Z], ~U[2026-04-11 23:17:41Z], ~U[2026-04-11 23:17:41Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Something Is About To Bust - Leftovers #9", 7604, false, "OwMNmsLlZaE", "https://www.youtube.com/watch?v=OwMNmsLlZaE", "/downloads/H3 Podcast/2021-12-03 (Members) Something Is About To Bust - Leftovers #9/(Members) Something Is About To Bust - Leftovers #9 [OwMNmsLlZaE].NA", false, 1, ~U[2021-12-03 05:16:50Z]] 11:17:41.396 [debug] QUERY OK source="sources" db=4.8ms queue=0.1ms idle=213.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:41.402 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.3ms idle=28.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:41.407 [debug] QUERY OK source="media_items" db=3.9ms queue=0.2ms idle=30.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 [104] 11:17:41.407 [debug] Current batch of media processed. Will check again in 1000ms 11:17:42.413 [debug] Current batch of media processed. Will check again in 1000ms 11:17:43.415 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "H3 HOLIDAY MERCH... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 546, "filename" => "/downloads/H3 Podcast/2021-11-27 (Members) H3 Podcast BTS #10/(Members) H3 Podcast BTS #10 [-m82ZDZCxnw].NA", "id" => "-m82ZDZCxnw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-m82ZDZCxnw", "playlist_index" => 105, "timestamp" => 1637973580, "title" => "(Members) H3 Podcast BTS #10", "upload_date" => "20211127"} 11:17:43.420 [debug] QUERY OK source="sources" db=3.0ms queue=0.2ms idle=293.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:43.423 [debug] QUERY OK source="sources" db=1.7ms queue=1.2ms idle=296.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:43.431 [debug] QUERY OK source="media_items" db=5.6ms queue=1.1ms idle=300.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-27 00:39:40Z], 1] 11:17:43.493 [debug] QUERY OK source="media_items" db=59.8ms queue=0.1ms idle=240.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["H3 HOLIDAY MERCH... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #10", "4e7d2057-7a04-4f13-a37c-70ca0435cda0", 546, false, "-m82ZDZCxnw", "https://www.youtube.com/watch?v=-m82ZDZCxnw", 105, "/downloads/H3 Podcast/2021-11-27 (Members) H3 Podcast BTS #10/(Members) H3 Podcast BTS #10 [-m82ZDZCxnw].NA", false, false, false, 1, [], 99, ~U[2021-11-27 00:39:40Z], ~U[2026-04-11 23:17:43Z], ~U[2026-04-11 23:17:43Z], "H3 HOLIDAY MERCH... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #10", 546, false, "-m82ZDZCxnw", "https://www.youtube.com/watch?v=-m82ZDZCxnw", "/downloads/H3 Podcast/2021-11-27 (Members) H3 Podcast BTS #10/(Members) H3 Podcast BTS #10 [-m82ZDZCxnw].NA", false, 1, ~U[2021-11-27 00:39:40Z]] 11:17:43.496 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=290.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:43.499 [debug] QUERY OK source="media_profiles" db=1.0ms queue=1.2ms idle=76.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:43.501 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=76.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 [105] 11:17:43.501 [debug] Current batch of media processed. Will check again in 1000ms 11:17:44.503 [debug] Current batch of media processed. Will check again in 1000ms 11:17:45.509 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://blenderseyewear.com (enter promo code: H3VIP) & http://hbom.ax/h3rails & http://joinhoney.com/h3 for sponsoring this episode!\nNEW H3 MERCH HOLIDAY MERCH... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 8100, "filename" => "/downloads/H3 Podcast/2021-11-25 YOU LAUGH, YOU LOSE! (Thanksgiving Special) - Off The Rails #20/YOU LAUGH, YOU LOSE! (Thanksgiving Special) - Off The Rails #20 [lD1Z7NYUXjc].mp4", "id" => "lD1Z7NYUXjc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lD1Z7NYUXjc", "playlist_index" => 106, "timestamp" => 1637859807, "title" => "YOU LAUGH, YOU LOSE! (Thanksgiving Special) - Off The Rails #20", "upload_date" => "20211125"} 11:17:45.512 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=383.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:45.515 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=386.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:45.523 [debug] QUERY OK source="media_items" db=7.3ms queue=0.1ms idle=388.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-25 17:03:27Z], 1] 11:17:45.590 [debug] QUERY OK source="media_items" db=64.0ms queue=0.1ms idle=320.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://blenderseyewear.com (enter promo code: H3VIP) & http://hbom.ax/h3rails & http://joinhoney.com/h3 for sponsoring this episode!\nNEW H3 MERCH HOLIDAY MERCH... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "YOU LAUGH, YOU LOSE! (Thanksgiving Special) - Off The Rails #20", "66df2812-ec98-4dba-9250-9bf6beb3a977", 8100, false, "lD1Z7NYUXjc", "https://www.youtube.com/watch?v=lD1Z7NYUXjc", 106, "/downloads/H3 Podcast/2021-11-25 YOU LAUGH, YOU LOSE! (Thanksgiving Special) - Off The Rails #20/YOU LAUGH, YOU LOSE! (Thanksgiving Special) - Off The Rails #20 [lD1Z7NYUXjc].mp4", false, false, false, 1, [], 99, ~U[2021-11-25 17:03:27Z], ~U[2026-04-11 23:17:45Z], ~U[2026-04-11 23:17:45Z], "Thank you to http://blenderseyewear.com (enter promo code: H3VIP) & http://hbom.ax/h3rails & http://joinhoney.com/h3 for sponsoring this episode!\nNEW H3 MERCH HOLIDAY MERCH... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "YOU LAUGH, YOU LOSE! (Thanksgiving Special) - Off The Rails #20", 8100, false, "lD1Z7NYUXjc", "https://www.youtube.com/watch?v=lD1Z7NYUXjc", "/downloads/H3 Podcast/2021-11-25 YOU LAUGH, YOU LOSE! (Thanksgiving Special) - Off The Rails #20/YOU LAUGH, YOU LOSE! (Thanksgiving Special) - Off The Rails #20 [lD1Z7NYUXjc].mp4", false, 1, ~U[2021-11-25 17:03:27Z]] 11:17:45.593 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=377.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:45.594 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=81.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:45.597 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=79.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 [106] 11:17:45.597 [debug] Current batch of media processed. Will check again in 1000ms 11:17:46.599 [debug] Current batch of media processed. Will check again in 1000ms 11:17:47.602 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "NEW H3 MERCH HOLIDAY MERCH... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 8293, "filename" => "/downloads/H3 Podcast/2021-11-25 (Members) Thanksgiving You Laugh You Lose Special/(Members) Thanksgiving You Laugh You Lose Special [6tRJzdhZgO4].NA", "id" => "6tRJzdhZgO4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6tRJzdhZgO4", "playlist_index" => 107, "timestamp" => 1637811539, "title" => "(Members) Thanksgiving You Laugh You Lose Special", "upload_date" => "20211125"} 11:17:47.606 [debug] QUERY OK source="sources" db=1.5ms queue=0.3ms idle=472.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:47.610 [debug] QUERY OK source="sources" db=1.5ms queue=1.6ms idle=475.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:47.614 [debug] QUERY OK source="media_items" db=2.2ms queue=0.9ms idle=478.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-25 03:38:59Z], 1] 11:17:47.625 [debug] QUERY OK source="media_items" db=7.2ms queue=0.1ms idle=374.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["NEW H3 MERCH HOLIDAY MERCH... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Thanksgiving You Laugh You Lose Special", "be6d3d6a-b956-44da-b879-f0df2a8855dc", 8293, false, "6tRJzdhZgO4", "https://www.youtube.com/watch?v=6tRJzdhZgO4", 107, "/downloads/H3 Podcast/2021-11-25 (Members) Thanksgiving You Laugh You Lose Special/(Members) Thanksgiving You Laugh You Lose Special [6tRJzdhZgO4].NA", false, false, false, 1, [], 98, ~U[2021-11-25 03:38:59Z], ~U[2026-04-11 23:17:47Z], ~U[2026-04-11 23:17:47Z], "NEW H3 MERCH HOLIDAY MERCH... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Thanksgiving You Laugh You Lose Special", 8293, false, "6tRJzdhZgO4", "https://www.youtube.com/watch?v=6tRJzdhZgO4", "/downloads/H3 Podcast/2021-11-25 (Members) Thanksgiving You Laugh You Lose Special/(Members) Thanksgiving You Laugh You Lose Special [6tRJzdhZgO4].NA", false, 1, ~U[2021-11-25 03:38:59Z]] 11:17:47.629 [debug] QUERY OK source="sources" db=2.1ms queue=0.2ms idle=368.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:47.632 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.7ms idle=23.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:47.638 [debug] QUERY OK source="media_items" db=2.1ms queue=0.3ms idle=25.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [107] 11:17:47.640 [debug] Current batch of media processed. Will check again in 1000ms 11:17:48.641 [debug] Current batch of media processed. Will check again in 1000ms 11:17:49.643 [debug] Current batch of media processed. Will check again in 1000ms 11:17:50.659 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://www.stamps.com (use code: leftover) & http://joinhoney.com/leftovers & http://harrys.com/leftovers for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7576, "filename" => "/downloads/H3 Podcast/2021-11-21 How To Own Your MAGA Family This Thanksgiving - Leftovers #8/How To Own Your MAGA Family This Thanksgiving - Leftovers #8 [AUNkyV4YAoU].mp4", "id" => "AUNkyV4YAoU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AUNkyV4YAoU", "playlist_index" => 108, "timestamp" => 1637525437, "title" => "How To Own Your MAGA Family This Thanksgiving - Leftovers #8", "upload_date" => "20211121"} 11:17:50.677 [debug] QUERY OK source="sources" db=3.8ms queue=1.3ms idle=1534.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:50.688 [debug] QUERY OK source="sources" db=5.7ms queue=0.7ms idle=1425.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:50.705 [debug] QUERY OK source="media_items" db=15.3ms queue=0.3ms idle=1427.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-21 20:10:37Z], 1] 11:17:50.730 [debug] QUERY OK source="media_items" db=20.3ms queue=0.2ms idle=429.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://www.stamps.com (use code: leftover) & http://joinhoney.com/leftovers & http://harrys.com/leftovers for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "How To Own Your MAGA Family This Thanksgiving - Leftovers #8", "f5361bf7-ed5b-422d-850d-57133d2ab541", 7576, false, "AUNkyV4YAoU", "https://www.youtube.com/watch?v=AUNkyV4YAoU", 108, "/downloads/H3 Podcast/2021-11-21 How To Own Your MAGA Family This Thanksgiving - Leftovers #8/How To Own Your MAGA Family This Thanksgiving - Leftovers #8 [AUNkyV4YAoU].mp4", false, false, false, 1, [], 99, ~U[2021-11-21 20:10:37Z], ~U[2026-04-11 23:17:50Z], ~U[2026-04-11 23:17:50Z], "Thank you to http://www.stamps.com (use code: leftover) & http://joinhoney.com/leftovers & http://harrys.com/leftovers for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "How To Own Your MAGA Family This Thanksgiving - Leftovers #8", 7576, false, "AUNkyV4YAoU", "https://www.youtube.com/watch?v=AUNkyV4YAoU", "/downloads/H3 Podcast/2021-11-21 How To Own Your MAGA Family This Thanksgiving - Leftovers #8/How To Own Your MAGA Family This Thanksgiving - Leftovers #8 [AUNkyV4YAoU].mp4", false, 1, ~U[2021-11-21 20:10:37Z]] 11:17:50.734 [debug] QUERY OK source="sources" db=1.6ms queue=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:50.737 [debug] QUERY OK source="media_profiles" db=1.1ms queue=1.6ms idle=64.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:50.742 [debug] QUERY OK source="media_items" db=1.3ms queue=0.5ms idle=52.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 [108] 11:17:50.743 [debug] Current batch of media processed. Will check again in 1000ms 11:17:51.749 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 778, "filename" => "/downloads/H3 Podcast/2021-11-20 (Members) H3 Podcast BTS #9/(Members) H3 Podcast BTS #9 [Lweg1W4tKIQ].NA", "id" => "Lweg1W4tKIQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Lweg1W4tKIQ", "playlist_index" => 109, "timestamp" => 1637371190, "title" => "(Members) H3 Podcast BTS #9", "upload_date" => "20211120"} 11:17:51.754 [debug] QUERY OK source="sources" db=2.5ms queue=0.4ms idle=1016.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:51.756 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=1017.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:51.758 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=1014.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-20 01:19:50Z], 1] 11:17:51.769 [debug] QUERY OK source="media_items" db=8.2ms queue=0.1ms idle=468.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #9", "63f749ab-7b2d-4701-bd39-19a92cc47196", 778, false, "Lweg1W4tKIQ", "https://www.youtube.com/watch?v=Lweg1W4tKIQ", 109, "/downloads/H3 Podcast/2021-11-20 (Members) H3 Podcast BTS #9/(Members) H3 Podcast BTS #9 [Lweg1W4tKIQ].NA", false, false, false, 1, [], 99, ~U[2021-11-20 01:19:50Z], ~U[2026-04-11 23:17:51Z], ~U[2026-04-11 23:17:51Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #9", 778, false, "Lweg1W4tKIQ", "https://www.youtube.com/watch?v=Lweg1W4tKIQ", "/downloads/H3 Podcast/2021-11-20 (Members) H3 Podcast BTS #9/(Members) H3 Podcast BTS #9 [Lweg1W4tKIQ].NA", false, 1, ~U[2021-11-20 01:19:50Z]] 11:17:51.771 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=467.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:51.773 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=18.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:51.777 [debug] QUERY OK source="media_items" db=2.0ms queue=0.4ms 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 [109] 11:17:51.779 [debug] Current batch of media processed. Will check again in 1000ms 11:17:52.784 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 9040, "filename" => "/downloads/H3 Podcast/2021-11-19 (Members) How To Own Your MAGA Family This Thanksgiving - Leftovers #8/(Members) How To Own Your MAGA Family This Thanksgiving - Leftovers #8 [Z8B3csYMjmE].NA", "id" => "Z8B3csYMjmE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Z8B3csYMjmE", "playlist_index" => 110, "timestamp" => 1637314193, "title" => "(Members) How To Own Your MAGA Family This Thanksgiving - Leftovers #8", "upload_date" => "20211119"} 11:17:52.794 [debug] QUERY OK source="sources" db=3.8ms queue=1.1ms idle=1016.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:52.802 [debug] QUERY OK source="sources" db=4.2ms queue=0.6ms idle=1023.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:52.806 [debug] QUERY OK source="media_items" db=2.1ms queue=0.7ms idle=1025.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-19 09:29:53Z], 1] 11:17:52.815 [debug] QUERY OK source="media_items" db=6.2ms queue=0.1ms idle=510.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) How To Own Your MAGA Family This Thanksgiving - Leftovers #8", "97463f96-ff44-432b-af8b-6d6dc9d523cc", 9040, false, "Z8B3csYMjmE", "https://www.youtube.com/watch?v=Z8B3csYMjmE", 110, "/downloads/H3 Podcast/2021-11-19 (Members) How To Own Your MAGA Family This Thanksgiving - Leftovers #8/(Members) How To Own Your MAGA Family This Thanksgiving - Leftovers #8 [Z8B3csYMjmE].NA", false, false, false, 1, [], 99, ~U[2021-11-19 09:29:53Z], ~U[2026-04-11 23:17:52Z], ~U[2026-04-11 23:17:52Z], "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) How To Own Your MAGA Family This Thanksgiving - Leftovers #8", 9040, false, "Z8B3csYMjmE", "https://www.youtube.com/watch?v=Z8B3csYMjmE", "/downloads/H3 Podcast/2021-11-19 (Members) How To Own Your MAGA Family This Thanksgiving - Leftovers #8/(Members) How To Own Your MAGA Family This Thanksgiving - Leftovers #8 [Z8B3csYMjmE].NA", false, 1, ~U[2021-11-19 09:29:53Z]] 11:17:52.817 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=510.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:52.819 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=24.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:52.821 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=18.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 11:17:52.822 [debug] Current batch of media processed. Will check again in 1000ms 11:17:53.828 [debug] Current batch of media processed. Will check again in 1000ms 11:17:54.834 [debug] Current batch of media processed. Will check again in 1000ms 11:17:55.845 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://meundies.com/h3 & http://upstart.com/h3 for sponsoring this episode!\nBATHROOM POLL: https://forms.gle/pRvsHfUrfRxF2csw9\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7164, "filename" => "/downloads/H3 Podcast/2021-11-18 I Got Hand Enlargement Surgery - Off The Rails #19/I Got Hand Enlargement Surgery - Off The Rails #19 [hY0x8d3QWDA].mp4", "id" => "hY0x8d3QWDA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hY0x8d3QWDA", "playlist_index" => 111, "timestamp" => 1637273989, "title" => "I Got Hand Enlargement Surgery - Off The Rails #19", "upload_date" => "20211118"} 11:17:55.854 [debug] QUERY OK source="sources" db=4.4ms queue=1.0ms idle=1708.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:55.862 [debug] QUERY OK source="sources" db=2.8ms queue=0.8ms idle=1532.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:55.876 [debug] QUERY OK source="media_items" db=13.2ms queue=0.2ms idle=1525.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-18 22:19:49Z], 1] 11:17:55.887 [debug] QUERY OK source="media_items" db=8.6ms queue=0.1ms idle=542.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://meundies.com/h3 & http://upstart.com/h3 for sponsoring this episode!\nBATHROOM POLL: https://forms.gle/pRvsHfUrfRxF2csw9\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "I Got Hand Enlargement Surgery - Off The Rails #19", "49016583-b879-4ed9-b936-d9e267f9b777", 7164, false, "hY0x8d3QWDA", "https://www.youtube.com/watch?v=hY0x8d3QWDA", 111, "/downloads/H3 Podcast/2021-11-18 I Got Hand Enlargement Surgery - Off The Rails #19/I Got Hand Enlargement Surgery - Off The Rails #19 [hY0x8d3QWDA].mp4", false, false, false, 1, [], 99, ~U[2021-11-18 22:19:49Z], ~U[2026-04-11 23:17:55Z], ~U[2026-04-11 23:17:55Z], "Thank you to http://meundies.com/h3 & http://upstart.com/h3 for sponsoring this episode!\nBATHROOM POLL: https://forms.gle/pRvsHfUrfRxF2csw9\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "I Got Hand Enlargement Surgery - Off The Rails #19", 7164, false, "hY0x8d3QWDA", "https://www.youtube.com/watch?v=hY0x8d3QWDA", "/downloads/H3 Podcast/2021-11-18 I Got Hand Enlargement Surgery - Off The Rails #19/I Got Hand Enlargement Surgery - Off The Rails #19 [hY0x8d3QWDA].mp4", false, 1, ~U[2021-11-18 22:19:49Z]] 11:17:55.889 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=542.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:55.893 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.2ms idle=36.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:55.897 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=33.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 [111] 11:17:55.897 [debug] Current batch of media processed. Will check again in 1000ms 11:17:56.905 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "BATHROOM POLL: https://forms.gle/pRvsHfUrfRxF2csw9\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6971, "filename" => "/downloads/H3 Podcast/2021-11-18 (Members) Off The Rails #19/(Members) Off The Rails #19 [hA4-oV4-8-o].NA", "id" => "hA4-oV4-8-o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hA4-oV4-8-o", "playlist_index" => 112, "timestamp" => 1637200325, "title" => "(Members) Off The Rails #19", "upload_date" => "20211118"} 11:17:56.910 [debug] QUERY OK source="sources" db=2.2ms queue=0.5ms idle=1017.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:56.915 [debug] QUERY OK source="sources" db=2.6ms queue=0.4ms 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" = ?) [1] 11:17:56.924 [debug] QUERY OK source="media_items" db=6.7ms queue=0.4ms idle=1019.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-18 01:52:05Z], 1] 11:17:56.940 [debug] QUERY OK source="media_items" db=12.2ms queue=0.3ms idle=582.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["BATHROOM POLL: https://forms.gle/pRvsHfUrfRxF2csw9\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Off The Rails #19", "59ecddd1-9499-426e-ac5e-c7151bda349c", 6971, false, "hA4-oV4-8-o", "https://www.youtube.com/watch?v=hA4-oV4-8-o", 112, "/downloads/H3 Podcast/2021-11-18 (Members) Off The Rails #19/(Members) Off The Rails #19 [hA4-oV4-8-o].NA", false, false, false, 1, [], 98, ~U[2021-11-18 01:52:05Z], ~U[2026-04-11 23:17:56Z], ~U[2026-04-11 23:17:56Z], "BATHROOM POLL: https://forms.gle/pRvsHfUrfRxF2csw9\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Off The Rails #19", 6971, false, "hA4-oV4-8-o", "https://www.youtube.com/watch?v=hA4-oV4-8-o", "/downloads/H3 Podcast/2021-11-18 (Members) Off The Rails #19/(Members) Off The Rails #19 [hA4-oV4-8-o].NA", false, 1, ~U[2021-11-18 01:52:05Z]] 11:17:56.944 [debug] QUERY OK source="sources" db=2.1ms queue=0.3ms idle=587.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:17:56.947 [debug] QUERY OK source="media_profiles" db=2.3ms queue=0.4ms idle=35.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:17:56.951 [debug] QUERY OK source="media_items" db=2.1ms queue=0.2ms idle=34.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 [112] 11:17:56.952 [debug] Current batch of media processed. Will check again in 1000ms 11:17:57.959 [debug] Current batch of media processed. Will check again in 1000ms 11:17:58.960 [debug] Current batch of media processed. Will check again in 1000ms 11:17:59.969 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to our sponsors: http://harrys.com/leftovers & http://buyraycon.com/leftovers & Go to http://expressvpn.com/leftovers to get an extra 3 months free on a 1-year package!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7563, "filename" => "/downloads/H3 Podcast/2021-11-14 Right Wing Cringe, QAnon, Big Bird Is Commie Scum - Leftovers #7/Right Wing Cringe, QAnon, Big Bird Is Commie Scum - Leftovers #7 [Gzl1Px4_ndg].mp4", "id" => "Gzl1Px4_ndg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Gzl1Px4_ndg", "playlist_index" => 113, "timestamp" => 1636922344, "title" => "Right Wing Cringe, QAnon, Big Bird Is Commie Scum - Leftovers #7", "upload_date" => "20211114"} 11:17:59.976 [debug] QUERY OK source="sources" db=3.1ms queue=0.8ms idle=1832.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:17:59.986 [debug] QUERY OK source="sources" db=3.9ms queue=0.7ms idle=1624.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:00.007 [debug] QUERY OK source="media_items" db=18.4ms queue=0.8ms idle=1622.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-14 20:39:04Z], 1] 11:18:00.024 [debug] QUERY OK source="media_items" db=12.6ms queue=0.2ms idle=646.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to our sponsors: http://harrys.com/leftovers & http://buyraycon.com/leftovers & Go to http://expressvpn.com/leftovers to get an extra 3 months free on a 1-year package!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Right Wing Cringe, QAnon, Big Bird Is Commie Scum - Leftovers #7", "fdfee1b9-22d6-4074-95dc-0cb9bee72e21", 7563, false, "Gzl1Px4_ndg", "https://www.youtube.com/watch?v=Gzl1Px4_ndg", 113, "/downloads/H3 Podcast/2021-11-14 Right Wing Cringe, QAnon, Big Bird Is Commie Scum - Leftovers #7/Right Wing Cringe, QAnon, Big Bird Is Commie Scum - Leftovers #7 [Gzl1Px4_ndg].mp4", false, false, false, 1, [], 99, ~U[2021-11-14 20:39:04Z], ~U[2026-04-11 23:18:00Z], ~U[2026-04-11 23:18:00Z], "Thank you to our sponsors: http://harrys.com/leftovers & http://buyraycon.com/leftovers & Go to http://expressvpn.com/leftovers to get an extra 3 months free on a 1-year package!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Right Wing Cringe, QAnon, Big Bird Is Commie Scum - Leftovers #7", 7563, false, "Gzl1Px4_ndg", "https://www.youtube.com/watch?v=Gzl1Px4_ndg", "/downloads/H3 Podcast/2021-11-14 Right Wing Cringe, QAnon, Big Bird Is Commie Scum - Leftovers #7/Right Wing Cringe, QAnon, Big Bird Is Commie Scum - Leftovers #7 [Gzl1Px4_ndg].mp4", false, 1, ~U[2021-11-14 20:39:04Z]] 11:18:00.028 [debug] QUERY OK source="sources" db=3.0ms queue=0.2ms idle=651.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:00.032 [debug] QUERY OK source="media_profiles" db=2.4ms queue=0.2ms idle=53.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:00.035 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=47.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 [113] 11:18:00.037 [debug] Current batch of media processed. Will check again in 1000ms 11:18:00.663 [info] {"source":"oban","duration":1202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:18:01.043 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 605, "filename" => "/downloads/H3 Podcast/2021-11-12 (Members) H3 Podcast BTS #8/(Members) H3 Podcast BTS #8 [o8D9ncY5Ye0].NA", "id" => "o8D9ncY5Ye0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o8D9ncY5Ye0", "playlist_index" => 114, "timestamp" => 1636743547, "title" => "(Members) H3 Podcast BTS #8", "upload_date" => "20211112"} 11:18:01.053 [debug] QUERY OK source="sources" db=4.7ms queue=1.1ms idle=1014.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:01.063 [debug] QUERY OK source="sources" db=3.6ms queue=1.0ms 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" = ?) [1] 11:18:01.069 [debug] QUERY OK source="media_items" db=3.5ms queue=0.6ms idle=693.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-12 18:59:07Z], 1] 11:18:01.074 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=691.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #8", "b5fdd28e-bb91-4396-95d0-6466972b7894", 605, false, "o8D9ncY5Ye0", "https://www.youtube.com/watch?v=o8D9ncY5Ye0", 114, "/downloads/H3 Podcast/2021-11-12 (Members) H3 Podcast BTS #8/(Members) H3 Podcast BTS #8 [o8D9ncY5Ye0].NA", false, false, false, 1, [], 99, ~U[2021-11-12 18:59:07Z], ~U[2026-04-11 23:18:01Z], ~U[2026-04-11 23:18:01Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) H3 Podcast BTS #8", 605, false, "o8D9ncY5Ye0", "https://www.youtube.com/watch?v=o8D9ncY5Ye0", "/downloads/H3 Podcast/2021-11-12 (Members) H3 Podcast BTS #8/(Members) H3 Podcast BTS #8 [o8D9ncY5Ye0].NA", false, 1, ~U[2021-11-12 18:59:07Z]] 11:18:01.076 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=411.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:01.078 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=23.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:01.080 [debug] QUERY OK source="media_items" db=1.6ms idle=16.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114] 11:18:01.080 [debug] Current batch of media processed. Will check again in 1000ms 11:18:02.087 [debug] Current batch of media processed. Will check again in 1000ms 11:18:03.091 [debug] Current batch of media processed. Will check again in 1000ms 11:18:04.104 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://stamps.com (use code: H3) for sponsoring this episode!\nTeddy Fresh Black Friday Sale LIVE NOW! http://teddyfresh.com\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7380, "filename" => "/downloads/H3 Podcast/2021-11-11 I Had To Get Emergency Surgery - Off The Rails #18/I Had To Get Emergency Surgery - Off The Rails #18 [EkXUAzDP7kk].mp4", "id" => "EkXUAzDP7kk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EkXUAzDP7kk", "playlist_index" => 115, "timestamp" => 1636664923, "title" => "I Had To Get Emergency Surgery - Off The Rails #18", "upload_date" => "20211111"} 11:18:04.111 [debug] QUERY OK source="sources" db=2.9ms queue=1.1ms idle=1963.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:04.120 [debug] QUERY OK source="sources" db=3.4ms queue=0.8ms idle=1704.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:04.129 [debug] QUERY OK source="media_items" db=7.7ms queue=0.2ms idle=1700.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-11 21:08:43Z], 1] 11:18:04.139 [debug] QUERY OK source="media_items" db=7.9ms queue=0.1ms idle=712.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://stamps.com (use code: H3) for sponsoring this episode!\nTeddy Fresh Black Friday Sale LIVE NOW! http://teddyfresh.com\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "I Had To Get Emergency Surgery - Off The Rails #18", "b2edee43-f161-4cb3-9dcf-c1a18b7b24b0", 7380, false, "EkXUAzDP7kk", "https://www.youtube.com/watch?v=EkXUAzDP7kk", 115, "/downloads/H3 Podcast/2021-11-11 I Had To Get Emergency Surgery - Off The Rails #18/I Had To Get Emergency Surgery - Off The Rails #18 [EkXUAzDP7kk].mp4", false, false, false, 1, [], 99, ~U[2021-11-11 21:08:43Z], ~U[2026-04-11 23:18:04Z], ~U[2026-04-11 23:18:04Z], "Thank you to http://stamps.com (use code: H3) for sponsoring this episode!\nTeddy Fresh Black Friday Sale LIVE NOW! http://teddyfresh.com\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "I Had To Get Emergency Surgery - Off The Rails #18", 7380, false, "EkXUAzDP7kk", "https://www.youtube.com/watch?v=EkXUAzDP7kk", "/downloads/H3 Podcast/2021-11-11 I Had To Get Emergency Surgery - Off The Rails #18/I Had To Get Emergency Surgery - Off The Rails #18 [EkXUAzDP7kk].mp4", false, 1, ~U[2021-11-11 21:08:43Z]] 11:18:04.141 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=713.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:04.143 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.6ms idle=30.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:04.146 [debug] QUERY OK source="media_items" db=1.8ms queue=0.2ms idle=24.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 [115] 11:18:04.147 [debug] Current batch of media processed. Will check again in 1000ms 11:18:04.621 [info] {"source":"oban","duration":2960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:05.155 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7221, "filename" => "/downloads/H3 Podcast/2021-11-11 Off The Rails #18/Off The Rails #18 [ny7oH5GfiYc].NA", "id" => "ny7oH5GfiYc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ny7oH5GfiYc", "playlist_index" => 116, "timestamp" => 1636596727, "title" => "Off The Rails #18", "upload_date" => "20211111"} 11:18:05.167 [debug] QUERY OK source="sources" db=6.4ms queue=1.6ms idle=1011.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:05.174 [debug] QUERY OK source="sources" db=3.1ms queue=1.4ms idle=732.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:05.178 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=721.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-11 02:12:07Z], 1] 11:18:05.187 [debug] QUERY OK source="media_items" db=7.1ms queue=0.1ms idle=558.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Off The Rails #18", "71bb9150-28df-4c64-89c2-cae067064666", 7221, false, "ny7oH5GfiYc", "https://www.youtube.com/watch?v=ny7oH5GfiYc", 116, "/downloads/H3 Podcast/2021-11-11 Off The Rails #18/Off The Rails #18 [ny7oH5GfiYc].NA", false, false, false, 1, [], 98, ~U[2021-11-11 02:12:07Z], ~U[2026-04-11 23:18:05Z], ~U[2026-04-11 23:18:05Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Off The Rails #18", 7221, false, "ny7oH5GfiYc", "https://www.youtube.com/watch?v=ny7oH5GfiYc", "/downloads/H3 Podcast/2021-11-11 Off The Rails #18/Off The Rails #18 [ny7oH5GfiYc].NA", false, 1, ~U[2021-11-11 02:12:07Z]] 11:18:05.190 [debug] QUERY OK source="sources" db=1.2ms queue=0.3ms 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" = ?) [1] 11:18:05.192 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=24.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:05.194 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=18.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116] 11:18:05.194 [debug] Current batch of media processed. Will check again in 1000ms 11:18:06.195 [debug] Current batch of media processed. Will check again in 1000ms 11:18:07.196 [debug] Current batch of media processed. Will check again in 1000ms 11:18:08.212 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://LiquidIV.com (use code: H3) & http://curology.com/H3 for sponsoring this episode!\nTEDDY FRESH BLACK FRIDAY SALE LIVE NOW!...http://teddyfresh.com\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7061, "filename" => "/downloads/H3 Podcast/2021-11-04 We Broke Up - Off The Rails #17/We Broke Up - Off The Rails #17 [oHU006rCb2c].mp4", "id" => "oHU006rCb2c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oHU006rCb2c", "playlist_index" => 117, "timestamp" => 1636047823, "title" => "We Broke Up - Off The Rails #17", "upload_date" => "20211104"} 11:18:08.222 [debug] QUERY OK source="sources" db=6.7ms queue=0.9ms idle=1067.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:08.228 [debug] QUERY OK source="sources" db=2.7ms queue=0.3ms idle=1077.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:08.240 [debug] QUERY OK source="media_items" db=11.0ms queue=0.2ms idle=1081.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-04 17:43:43Z], 1] 11:18:08.310 [debug] QUERY OK source="media_items" db=65.9ms queue=0.2ms idle=767.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://LiquidIV.com (use code: H3) & http://curology.com/H3 for sponsoring this episode!\nTEDDY FRESH BLACK FRIDAY SALE LIVE NOW!...http://teddyfresh.com\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Broke Up - Off The Rails #17", "e811e885-b636-43d2-86c7-6b22c4ca70b2", 7061, false, "oHU006rCb2c", "https://www.youtube.com/watch?v=oHU006rCb2c", 117, "/downloads/H3 Podcast/2021-11-04 We Broke Up - Off The Rails #17/We Broke Up - Off The Rails #17 [oHU006rCb2c].mp4", false, false, false, 1, [], 99, ~U[2021-11-04 17:43:43Z], ~U[2026-04-11 23:18:08Z], ~U[2026-04-11 23:18:08Z], "Thank you to http://LiquidIV.com (use code: H3) & http://curology.com/H3 for sponsoring this episode!\nTEDDY FRESH BLACK FRIDAY SALE LIVE NOW!...http://teddyfresh.com\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Broke Up - Off The Rails #17", 7061, false, "oHU006rCb2c", "https://www.youtube.com/watch?v=oHU006rCb2c", "/downloads/H3 Podcast/2021-11-04 We Broke Up - Off The Rails #17/We Broke Up - Off The Rails #17 [oHU006rCb2c].mp4", false, 1, ~U[2021-11-04 17:43:43Z]] 11:18:08.319 [debug] QUERY OK source="sources" db=4.3ms queue=0.6ms idle=831.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:08.323 [debug] QUERY OK source="media_profiles" db=1.8ms queue=1.3ms idle=97.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:08.327 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=97.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 [117] 11:18:08.328 [debug] Current batch of media processed. Will check again in 1000ms 11:18:09.338 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7909, "filename" => "/downloads/H3 Podcast/2021-11-04 (Members) Off The Rails #17/(Members) Off The Rails #17 [FAnyUqdXRfQ].NA", "id" => "FAnyUqdXRfQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FAnyUqdXRfQ", "playlist_index" => 118, "timestamp" => 1635993766, "title" => "(Members) Off The Rails #17", "upload_date" => "20211104"} 11:18:09.348 [debug] QUERY OK source="sources" db=3.6ms queue=1.3ms idle=1024.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:09.356 [debug] QUERY OK source="sources" db=2.3ms queue=0.9ms idle=1029.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:09.360 [debug] QUERY OK source="media_items" db=3.6ms queue=0.2ms idle=1029.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-04 02:42:46Z], 1] 11:18:09.370 [debug] QUERY OK source="media_items" db=7.7ms queue=0.1ms idle=871.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Off The Rails #17", "56b3ffc9-6259-4e12-a389-f0fc40073f09", 7909, false, "FAnyUqdXRfQ", "https://www.youtube.com/watch?v=FAnyUqdXRfQ", 118, "/downloads/H3 Podcast/2021-11-04 (Members) Off The Rails #17/(Members) Off The Rails #17 [FAnyUqdXRfQ].NA", false, false, false, 1, [], 98, ~U[2021-11-04 02:42:46Z], ~U[2026-04-11 23:18:09Z], ~U[2026-04-11 23:18:09Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Off The Rails #17", 7909, false, "FAnyUqdXRfQ", "https://www.youtube.com/watch?v=FAnyUqdXRfQ", "/downloads/H3 Podcast/2021-11-04 (Members) Off The Rails #17/(Members) Off The Rails #17 [FAnyUqdXRfQ].NA", false, 1, ~U[2021-11-04 02:42:46Z]] 11:18:09.372 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=875.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:09.374 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=25.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:09.377 [debug] QUERY OK source="media_items" db=1.8ms idle=19.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118] 11:18:09.377 [debug] Current batch of media processed. Will check again in 1000ms 11:18:10.379 [debug] Current batch of media processed. Will check again in 1000ms 11:18:11.382 [debug] Current batch of media processed. Will check again in 1000ms 11:18:12.389 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7320, "filename" => "/downloads/H3 Podcast/2021-10-31 Elon Musk Won’t Pay His Taxes & Joe Rogan Hates Paternity Leave - Leftovers #6/Elon Musk Won’t Pay His Taxes & Joe Rogan Hates Paternity Leave - Leftovers #6 [ZFlLqIk3MFU].mp4", "id" => "ZFlLqIk3MFU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZFlLqIk3MFU", "playlist_index" => 119, "timestamp" => 1635707680, "title" => "Elon Musk Won’t Pay His Taxes & Joe Rogan Hates Paternity Leave - Leftovers #6", "upload_date" => "20211031"} 11:18:12.391 [debug] QUERY OK source="sources" db=0.7ms queue=0.3ms idle=1240.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:12.394 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=1242.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:12.404 [debug] QUERY OK source="media_items" db=8.4ms queue=0.2ms idle=1244.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-31 19:14:40Z], 1] 11:18:12.414 [debug] QUERY OK source="media_items" db=8.4ms queue=0.1ms idle=886.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Elon Musk Won’t Pay His Taxes & Joe Rogan Hates Paternity Leave - Leftovers #6", "76f40339-0b87-4fda-9f9b-fb9338694926", 7320, false, "ZFlLqIk3MFU", "https://www.youtube.com/watch?v=ZFlLqIk3MFU", 119, "/downloads/H3 Podcast/2021-10-31 Elon Musk Won’t Pay His Taxes & Joe Rogan Hates Paternity Leave - Leftovers #6/Elon Musk Won’t Pay His Taxes & Joe Rogan Hates Paternity Leave - Leftovers #6 [ZFlLqIk3MFU].mp4", false, false, false, 1, [], 99, ~U[2021-10-31 19:14:40Z], ~U[2026-04-11 23:18:12Z], ~U[2026-04-11 23:18:12Z], "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Elon Musk Won’t Pay His Taxes & Joe Rogan Hates Paternity Leave - Leftovers #6", 7320, false, "ZFlLqIk3MFU", "https://www.youtube.com/watch?v=ZFlLqIk3MFU", "/downloads/H3 Podcast/2021-10-31 Elon Musk Won’t Pay His Taxes & Joe Rogan Hates Paternity Leave - Leftovers #6/Elon Musk Won’t Pay His Taxes & Joe Rogan Hates Paternity Leave - Leftovers #6 [ZFlLqIk3MFU].mp4", false, 1, ~U[2021-10-31 19:14:40Z]] 11:18:12.417 [debug] QUERY OK source="sources" db=1.9ms queue=0.3ms idle=888.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:12.420 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.2ms idle=26.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:12.423 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=26.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 [119] 11:18:12.423 [debug] Current batch of media processed. Will check again in 1000ms 11:18:13.425 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7339, "filename" => "/downloads/H3 Podcast/2021-10-29 (Members) Elon Musk From Hero To Villian - Leftovers #6/(Members) Elon Musk From Hero To Villian - Leftovers #6 [I2NEtwNHfMo].NA", "id" => "I2NEtwNHfMo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=I2NEtwNHfMo", "playlist_index" => 120, "timestamp" => 1635472048, "title" => "(Members) Elon Musk From Hero To Villian - Leftovers #6", "upload_date" => "20211029"} 11:18:13.430 [debug] QUERY OK source="sources" db=3.3ms queue=0.2ms idle=1009.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:13.433 [debug] QUERY OK source="sources" db=1.3ms queue=1.0ms idle=1010.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:13.438 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=1011.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-29 01:47:28Z], 1] 11:18:13.448 [debug] QUERY OK source="media_items" db=6.8ms queue=0.1ms idle=907.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Elon Musk From Hero To Villian - Leftovers #6", "68843bd5-9479-48e7-b05b-235efac73dd7", 7339, false, "I2NEtwNHfMo", "https://www.youtube.com/watch?v=I2NEtwNHfMo", 120, "/downloads/H3 Podcast/2021-10-29 (Members) Elon Musk From Hero To Villian - Leftovers #6/(Members) Elon Musk From Hero To Villian - Leftovers #6 [I2NEtwNHfMo].NA", false, false, false, 1, [], 99, ~U[2021-10-29 01:47:28Z], ~U[2026-04-11 23:18:13Z], ~U[2026-04-11 23:18:13Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Elon Musk From Hero To Villian - Leftovers #6", 7339, false, "I2NEtwNHfMo", "https://www.youtube.com/watch?v=I2NEtwNHfMo", "/downloads/H3 Podcast/2021-10-29 (Members) Elon Musk From Hero To Villian - Leftovers #6/(Members) Elon Musk From Hero To Villian - Leftovers #6 [I2NEtwNHfMo].NA", false, 1, ~U[2021-10-29 01:47:28Z]] 11:18:13.451 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=903.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:13.454 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.2ms idle=21.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:13.458 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=21.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 [120] 11:18:13.460 [debug] Current batch of media processed. Will check again in 1000ms 11:18:14.461 [debug] Current batch of media processed. Will check again in 1000ms 11:18:15.467 [debug] Current batch of media processed. Will check again in 1000ms 11:18:16.478 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "H3 Theme Halloween Remix By RIPTIDE:\nhttps://www.youtube.com/watch?v=G_zSlnBfdZ0\n\nCheck out Linda the Ghost Hunter Here: \nhttps://www.instagram.com/lindatheghosthunter/?hl=en\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2273, "filename" => "/downloads/H3 Podcast/2021-10-28 We Go Ghost Hunting - Halloween Special - OTR #16/We Go Ghost Hunting - Halloween Special - OTR #16 [xH_z6O6l9SM].mp4", "id" => "xH_z6O6l9SM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xH_z6O6l9SM", "playlist_index" => 121, "timestamp" => 1635450858, "title" => "We Go Ghost Hunting - Halloween Special - OTR #16", "upload_date" => "20211028"} 11:18:16.489 [debug] QUERY OK source="sources" db=3.9ms queue=1.6ms idle=1323.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:16.496 [debug] QUERY OK source="sources" db=3.6ms queue=0.6ms idle=1332.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:16.507 [debug] QUERY OK source="media_items" db=9.1ms queue=1.1ms idle=1337.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-28 19:54:18Z], 1] 11:18:16.521 [debug] QUERY OK source="media_items" db=9.7ms queue=0.2ms idle=956.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["H3 Theme Halloween Remix By RIPTIDE:\nhttps://www.youtube.com/watch?v=G_zSlnBfdZ0\n\nCheck out Linda the Ghost Hunter Here: \nhttps://www.instagram.com/lindatheghosthunter/?hl=en\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Go Ghost Hunting - Halloween Special - OTR #16", "bc971872-83de-4167-b5f7-b3237544ccb4", 2273, false, "xH_z6O6l9SM", "https://www.youtube.com/watch?v=xH_z6O6l9SM", 121, "/downloads/H3 Podcast/2021-10-28 We Go Ghost Hunting - Halloween Special - OTR #16/We Go Ghost Hunting - Halloween Special - OTR #16 [xH_z6O6l9SM].mp4", false, false, false, 1, [], 99, ~U[2021-10-28 19:54:18Z], ~U[2026-04-11 23:18:16Z], ~U[2026-04-11 23:18:16Z], "H3 Theme Halloween Remix By RIPTIDE:\nhttps://www.youtube.com/watch?v=G_zSlnBfdZ0\n\nCheck out Linda the Ghost Hunter Here: \nhttps://www.instagram.com/lindatheghosthunter/?hl=en\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Go Ghost Hunting - Halloween Special - OTR #16", 2273, false, "xH_z6O6l9SM", "https://www.youtube.com/watch?v=xH_z6O6l9SM", "/downloads/H3 Podcast/2021-10-28 We Go Ghost Hunting - Halloween Special - OTR #16/We Go Ghost Hunting - Halloween Special - OTR #16 [xH_z6O6l9SM].mp4", false, 1, ~U[2021-10-28 19:54:18Z]] 11:18:16.526 [debug] QUERY OK source="sources" db=2.2ms queue=0.2ms idle=961.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:16.529 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=37.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:16.533 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=34.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 [121] 11:18:16.534 [debug] Current batch of media processed. Will check again in 1000ms 11:18:17.546 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "H3 Theme Halloween Remix By RIPTIDE:\nhttps://www.youtube.com/watch?v=G_zSlnBfdZ0\n\nCheck out Linda the Ghost Hunter Here: \nhttps://www.instagram.com/lindatheghosthunter/?hl=en\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2252, "filename" => "/downloads/H3 Podcast/2021-10-27 (Members) WE TOURED THE MOST HAUNTED PLACE IN LOS ANGELES - Off the Rails #16/(Members) WE TOURED THE MOST HAUNTED PLACE IN LOS ANGELES - Off the Rails #16 [rUAzQHar1Ys].NA", "id" => "rUAzQHar1Ys", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rUAzQHar1Ys", "playlist_index" => 122, "timestamp" => 1635375966, "title" => "(Members) WE TOURED THE MOST HAUNTED PLACE IN LOS ANGELES - Off the Rails #16", "upload_date" => "20211027"} 11:18:17.561 [debug] QUERY OK source="sources" db=6.7ms queue=2.8ms 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 (?)) [1] 11:18:17.572 [debug] QUERY OK source="sources" db=5.9ms queue=0.7ms idle=1035.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:17.582 [debug] QUERY OK source="media_items" db=6.2ms queue=2.0ms idle=1009.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-27 23:06:06Z], 1] 11:18:17.595 [debug] QUERY OK source="media_items" db=8.6ms queue=0.2ms idle=1011.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["H3 Theme Halloween Remix By RIPTIDE:\nhttps://www.youtube.com/watch?v=G_zSlnBfdZ0\n\nCheck out Linda the Ghost Hunter Here: \nhttps://www.instagram.com/lindatheghosthunter/?hl=en\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) WE TOURED THE MOST HAUNTED PLACE IN LOS ANGELES - Off the Rails #16", "19e134a7-cd7b-4fb5-be21-10c5cf87f1fd", 2252, false, "rUAzQHar1Ys", "https://www.youtube.com/watch?v=rUAzQHar1Ys", 122, "/downloads/H3 Podcast/2021-10-27 (Members) WE TOURED THE MOST HAUNTED PLACE IN LOS ANGELES - Off the Rails #16/(Members) WE TOURED THE MOST HAUNTED PLACE IN LOS ANGELES - Off the Rails #16 [rUAzQHar1Ys].NA", false, false, false, 1, [], 99, ~U[2021-10-27 23:06:06Z], ~U[2026-04-11 23:18:17Z], ~U[2026-04-11 23:18:17Z], "H3 Theme Halloween Remix By RIPTIDE:\nhttps://www.youtube.com/watch?v=G_zSlnBfdZ0\n\nCheck out Linda the Ghost Hunter Here: \nhttps://www.instagram.com/lindatheghosthunter/?hl=en\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) WE TOURED THE MOST HAUNTED PLACE IN LOS ANGELES - Off the Rails #16", 2252, false, "rUAzQHar1Ys", "https://www.youtube.com/watch?v=rUAzQHar1Ys", "/downloads/H3 Podcast/2021-10-27 (Members) WE TOURED THE MOST HAUNTED PLACE IN LOS ANGELES - Off the Rails #16/(Members) WE TOURED THE MOST HAUNTED PLACE IN LOS ANGELES - Off the Rails #16 [rUAzQHar1Ys].NA", false, 1, ~U[2021-10-27 23:06:06Z]] 11:18:17.599 [debug] QUERY OK source="sources" db=3.0ms queue=0.2ms idle=24.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:17.601 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.3ms idle=18.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:17.606 [debug] QUERY OK source="media_items" db=1.6ms queue=0.6ms idle=15.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 [122] 11:18:17.607 [debug] Current batch of media processed. Will check again in 1000ms 11:18:18.620 [debug] Current batch of media processed. Will check again in 1000ms 11:18:19.636 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://stamps.com/leftovers (use code: leftovers) & http://policygenius.com/leftovers for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7509, "filename" => "/downloads/H3 Podcast/2021-10-24 Donald Trump Hacked & Snowflake Cops - Leftovers #5/Donald Trump Hacked & Snowflake Cops - Leftovers #5 [VPoKMwsSDVI].mp4", "id" => "VPoKMwsSDVI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VPoKMwsSDVI", "playlist_index" => 123, "timestamp" => 1635104072, "title" => "Donald Trump Hacked & Snowflake Cops - Leftovers #5", "upload_date" => "20211024"} 11:18:19.638 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms idle=467.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:19.641 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:19.653 [debug] QUERY OK source="media_items" db=10.7ms queue=0.4ms idle=472.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-24 19:34:32Z], 1] 11:18:19.658 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=44.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://stamps.com/leftovers (use code: leftovers) & http://policygenius.com/leftovers for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Donald Trump Hacked & Snowflake Cops - Leftovers #5", "d2d13f1c-389d-41d6-a62b-de65e60a0eef", 7509, false, "VPoKMwsSDVI", "https://www.youtube.com/watch?v=VPoKMwsSDVI", 123, "/downloads/H3 Podcast/2021-10-24 Donald Trump Hacked & Snowflake Cops - Leftovers #5/Donald Trump Hacked & Snowflake Cops - Leftovers #5 [VPoKMwsSDVI].mp4", false, false, false, 1, [], 99, ~U[2021-10-24 19:34:32Z], ~U[2026-04-11 23:18:19Z], ~U[2026-04-11 23:18:19Z], "Thank you to http://stamps.com/leftovers (use code: leftovers) & http://policygenius.com/leftovers for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Donald Trump Hacked & Snowflake Cops - Leftovers #5", 7509, false, "VPoKMwsSDVI", "https://www.youtube.com/watch?v=VPoKMwsSDVI", "/downloads/H3 Podcast/2021-10-24 Donald Trump Hacked & Snowflake Cops - Leftovers #5/Donald Trump Hacked & Snowflake Cops - Leftovers #5 [VPoKMwsSDVI].mp4", false, 1, ~U[2021-10-24 19:34:32Z]] 11:18:19.660 [debug] QUERY OK source="sources" db=1.6ms queue=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:19.662 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms 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] 11:18:19.665 [debug] QUERY OK source="media_items" db=2.0ms idle=22.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 [123] 11:18:19.666 [debug] Current batch of media processed. Will check again in 1000ms 11:18:20.670 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7234, "filename" => "/downloads/H3 Podcast/2021-10-22 (Members) Trump Is BACK - Leftovers #5/(Members) Trump Is BACK - Leftovers #5 [oQ1avZtGbSQ].NA", "id" => "oQ1avZtGbSQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oQ1avZtGbSQ", "playlist_index" => 124, "timestamp" => 1634928948, "title" => "(Members) Trump Is BACK - Leftovers #5", "upload_date" => "20211022"} 11:18:20.672 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1010.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:20.673 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1010.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:20.677 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=1008.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-22 18:55:48Z], 1] 11:18:20.685 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=59.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Trump Is BACK - Leftovers #5", "711b8247-6f40-4636-bd1d-23e8f6bd8d09", 7234, false, "oQ1avZtGbSQ", "https://www.youtube.com/watch?v=oQ1avZtGbSQ", 124, "/downloads/H3 Podcast/2021-10-22 (Members) Trump Is BACK - Leftovers #5/(Members) Trump Is BACK - Leftovers #5 [oQ1avZtGbSQ].NA", false, false, false, 1, [], 99, ~U[2021-10-22 18:55:48Z], ~U[2026-04-11 23:18:20Z], ~U[2026-04-11 23:18:20Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Trump Is BACK - Leftovers #5", 7234, false, "oQ1avZtGbSQ", "https://www.youtube.com/watch?v=oQ1avZtGbSQ", "/downloads/H3 Podcast/2021-10-22 (Members) Trump Is BACK - Leftovers #5/(Members) Trump Is BACK - Leftovers #5 [oQ1avZtGbSQ].NA", false, 1, ~U[2021-10-22 18:55:48Z]] 11:18:20.687 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=60.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:20.689 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.7ms idle=16.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:20.693 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=17.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 [124] 11:18:20.693 [debug] Current batch of media processed. Will check again in 1000ms 11:18:21.694 [debug] Current batch of media processed. Will check again in 1000ms 11:18:22.696 [debug] Current batch of media processed. Will check again in 1000ms 11:18:23.698 [debug] Current batch of media processed. Will check again in 1000ms 11:18:24.703 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://kraken.com/h3 & http://meundies.com/h3 & http://upstart.com/h3 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6434, "filename" => "/downloads/H3 Podcast/2021-10-21 Ethan Guesses Who’s High - Off The Rails #15/Ethan Guesses Who’s High - Off The Rails #15 [A2sQZ8G_h3U].mp4", "id" => "A2sQZ8G_h3U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=A2sQZ8G_h3U", "playlist_index" => 125, "timestamp" => 1634846188, "title" => "Ethan Guesses Who’s High - Off The Rails #15", "upload_date" => "20211021"} 11:18:24.708 [debug] QUERY OK source="sources" db=2.2ms queue=0.5ms idle=529.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:24.715 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=537.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:24.727 [debug] QUERY OK source="media_items" db=11.5ms queue=0.1ms idle=538.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-21 19:56:28Z], 1] 11:18:24.740 [debug] QUERY OK source="media_items" db=8.3ms queue=0.1ms idle=67.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://kraken.com/h3 & http://meundies.com/h3 & http://upstart.com/h3 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ethan Guesses Who’s High - Off The Rails #15", "377da324-bfed-4792-9402-6ea8c5ee57cf", 6434, false, "A2sQZ8G_h3U", "https://www.youtube.com/watch?v=A2sQZ8G_h3U", 125, "/downloads/H3 Podcast/2021-10-21 Ethan Guesses Who’s High - Off The Rails #15/Ethan Guesses Who’s High - Off The Rails #15 [A2sQZ8G_h3U].mp4", false, false, false, 1, [], 99, ~U[2021-10-21 19:56:28Z], ~U[2026-04-11 23:18:24Z], ~U[2026-04-11 23:18:24Z], "Thank you to http://kraken.com/h3 & http://meundies.com/h3 & http://upstart.com/h3 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ethan Guesses Who’s High - Off The Rails #15", 6434, false, "A2sQZ8G_h3U", "https://www.youtube.com/watch?v=A2sQZ8G_h3U", "/downloads/H3 Podcast/2021-10-21 Ethan Guesses Who’s High - Off The Rails #15/Ethan Guesses Who’s High - Off The Rails #15 [A2sQZ8G_h3U].mp4", false, 1, ~U[2021-10-21 19:56:28Z]] 11:18:24.744 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=67.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:24.748 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=36.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:24.751 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=33.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 [125] 11:18:24.753 [debug] Current batch of media processed. Will check again in 1000ms 11:18:25.764 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7391, "filename" => "/downloads/H3 Podcast/2021-10-21 (Members) Ethan Guesses Who's High - Off The Rails #15/(Members) Ethan Guesses Who's High - Off The Rails #15 [Ysl8FsOLNuk].NA", "id" => "Ysl8FsOLNuk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ysl8FsOLNuk", "playlist_index" => 126, "timestamp" => 1634781455, "title" => "(Members) Ethan Guesses Who's High - Off The Rails #15", "upload_date" => "20211021"} 11:18:25.774 [debug] QUERY OK source="sources" db=5.0ms queue=0.8ms idle=1023.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:25.785 [debug] QUERY OK source="sources" db=4.4ms queue=0.9ms idle=1030.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:25.790 [debug] QUERY OK source="media_items" db=3.6ms queue=0.3ms idle=1034.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-21 01:57:35Z], 1] 11:18:25.799 [debug] QUERY OK source="media_items" db=6.1ms queue=0.2ms idle=107.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Ethan Guesses Who's High - Off The Rails #15", "8ae77680-042d-41db-b71b-7a9e3fa12569", 7391, false, "Ysl8FsOLNuk", "https://www.youtube.com/watch?v=Ysl8FsOLNuk", 126, "/downloads/H3 Podcast/2021-10-21 (Members) Ethan Guesses Who's High - Off The Rails #15/(Members) Ethan Guesses Who's High - Off The Rails #15 [Ysl8FsOLNuk].NA", false, false, false, 1, [], 98, ~U[2021-10-21 01:57:35Z], ~U[2026-04-11 23:18:25Z], ~U[2026-04-11 23:18:25Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Ethan Guesses Who's High - Off The Rails #15", 7391, false, "Ysl8FsOLNuk", "https://www.youtube.com/watch?v=Ysl8FsOLNuk", "/downloads/H3 Podcast/2021-10-21 (Members) Ethan Guesses Who's High - Off The Rails #15/(Members) Ethan Guesses Who's High - Off The Rails #15 [Ysl8FsOLNuk].NA", false, 1, ~U[2021-10-21 01:57:35Z]] 11:18:25.801 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms 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" = ?) [1] 11:18:25.804 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.1ms idle=27.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:25.808 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=21.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 11:18:25.810 [debug] Current batch of media processed. Will check again in 1000ms 11:18:26.812 [debug] Current batch of media processed. Will check again in 1000ms 11:18:27.814 [debug] Current batch of media processed. Will check again in 1000ms 11:18:28.816 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://buyraycon.com/leftovers for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7728, "filename" => "/downloads/H3 Podcast/2021-10-17 Is Civil War Coming To America? - Leftovers #4/Is Civil War Coming To America? - Leftovers #4 [EgwOxM_2CW8].mp4", "id" => "EgwOxM_2CW8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EgwOxM_2CW8", "playlist_index" => 127, "timestamp" => 1634500104, "title" => "Is Civil War Coming To America? - Leftovers #4", "upload_date" => "20211017"} 11:18:28.818 [debug] QUERY OK source="sources" db=0.8ms queue=0.3ms idle=1631.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:28.821 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1119.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:28.831 [debug] QUERY OK source="media_items" db=7.9ms queue=0.6ms idle=1113.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-17 19:48:24Z], 1] 11:18:28.842 [debug] QUERY OK source="media_items" db=9.6ms queue=0.1ms idle=121.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://buyraycon.com/leftovers for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Is Civil War Coming To America? - Leftovers #4", "ebdae62c-17ae-4999-a99c-9fe309ab5122", 7728, false, "EgwOxM_2CW8", "https://www.youtube.com/watch?v=EgwOxM_2CW8", 127, "/downloads/H3 Podcast/2021-10-17 Is Civil War Coming To America? - Leftovers #4/Is Civil War Coming To America? - Leftovers #4 [EgwOxM_2CW8].mp4", false, false, false, 1, [], 99, ~U[2021-10-17 19:48:24Z], ~U[2026-04-11 23:18:28Z], ~U[2026-04-11 23:18:28Z], "Thank you to http://buyraycon.com/leftovers for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Is Civil War Coming To America? - Leftovers #4", 7728, false, "EgwOxM_2CW8", "https://www.youtube.com/watch?v=EgwOxM_2CW8", "/downloads/H3 Podcast/2021-10-17 Is Civil War Coming To America? - Leftovers #4/Is Civil War Coming To America? - Leftovers #4 [EgwOxM_2CW8].mp4", false, 1, ~U[2021-10-17 19:48:24Z]] 11:18:28.844 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=123.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:28.846 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.6ms idle=26.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:28.849 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=26.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 [127] 11:18:28.849 [debug] Current batch of media processed. Will check again in 1000ms 11:18:29.857 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7552, "filename" => "/downloads/H3 Podcast/2021-10-14 (Members) Is Civil War Coming? - Leftovers #4/(Members) Is Civil War Coming? - Leftovers #4 [WtZsL-95Fg4].NA", "id" => "WtZsL-95Fg4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WtZsL-95Fg4", "playlist_index" => 128, "timestamp" => 1634251893, "title" => "(Members) Is Civil War Coming? - Leftovers #4", "upload_date" => "20211014"} 11:18:29.869 [debug] QUERY OK source="sources" db=5.3ms queue=1.4ms idle=1017.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:29.874 [debug] QUERY OK source="sources" db=1.4ms queue=0.7ms idle=1025.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:29.880 [debug] QUERY OK source="media_items" db=4.2ms queue=0.2ms idle=1026.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-14 22:51:33Z], 1] 11:18:29.890 [debug] QUERY OK source="media_items" db=8.1ms queue=0.1ms idle=147.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Is Civil War Coming? - Leftovers #4", "f18360ad-f2be-4f99-a983-4ca4a975a50c", 7552, false, "WtZsL-95Fg4", "https://www.youtube.com/watch?v=WtZsL-95Fg4", 128, "/downloads/H3 Podcast/2021-10-14 (Members) Is Civil War Coming? - Leftovers #4/(Members) Is Civil War Coming? - Leftovers #4 [WtZsL-95Fg4].NA", false, false, false, 1, [], 99, ~U[2021-10-14 22:51:33Z], ~U[2026-04-11 23:18:29Z], ~U[2026-04-11 23:18:29Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Is Civil War Coming? - Leftovers #4", 7552, false, "WtZsL-95Fg4", "https://www.youtube.com/watch?v=WtZsL-95Fg4", "/downloads/H3 Podcast/2021-10-14 (Members) Is Civil War Coming? - Leftovers #4/(Members) Is Civil War Coming? - Leftovers #4 [WtZsL-95Fg4].NA", false, 1, ~U[2021-10-14 22:51:33Z]] 11:18:29.893 [debug] QUERY OK source="sources" db=2.5ms queue=0.2ms idle=147.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:29.895 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms 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] 11:18:29.897 [debug] QUERY OK source="media_items" db=1.8ms idle=20.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 [128] 11:18:29.897 [debug] Current batch of media processed. Will check again in 1000ms 11:18:30.902 [debug] Current batch of media processed. Will check again in 1000ms 11:18:31.906 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to today's sponsors: http://blenderseyewear.com (use promo code: H3VIP) & the SpongeBob BingePants Podcast! Listen to SpongeBob BingePants on the iHeartRadio App, Apple Podcasts,\nor wherever you get your podcasts!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6842, "filename" => "/downloads/H3 Podcast/2021-10-14 NELK Is A Menace To Society - Content Court/NELK Is A Menace To Society - Content Court [ZPt1p_KeTEE].mp4", "id" => "ZPt1p_KeTEE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZPt1p_KeTEE", "playlist_index" => 129, "timestamp" => 1634240509, "title" => "NELK Is A Menace To Society - Content Court", "upload_date" => "20211014"} 11:18:31.908 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=714.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:31.913 [debug] QUERY OK source="sources" db=2.2ms queue=0.3ms idle=718.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:31.925 [debug] QUERY OK source="media_items" db=10.3ms queue=0.1ms idle=721.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-14 19:41:49Z], 1] 11:18:31.938 [debug] QUERY OK source="media_items" db=10.6ms queue=0.1ms idle=173.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to today's sponsors: http://blenderseyewear.com (use promo code: H3VIP) & the SpongeBob BingePants Podcast! Listen to SpongeBob BingePants on the iHeartRadio App, Apple Podcasts,\nor wherever you get your podcasts!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "NELK Is A Menace To Society - Content Court", "95c9de7b-d82f-4973-a8df-92dd6f3165de", 6842, false, "ZPt1p_KeTEE", "https://www.youtube.com/watch?v=ZPt1p_KeTEE", 129, "/downloads/H3 Podcast/2021-10-14 NELK Is A Menace To Society - Content Court/NELK Is A Menace To Society - Content Court [ZPt1p_KeTEE].mp4", false, false, false, 1, [], 98, ~U[2021-10-14 19:41:49Z], ~U[2026-04-11 23:18:31Z], ~U[2026-04-11 23:18:31Z], "Thank you to today's sponsors: http://blenderseyewear.com (use promo code: H3VIP) & the SpongeBob BingePants Podcast! Listen to SpongeBob BingePants on the iHeartRadio App, Apple Podcasts,\nor wherever you get your podcasts!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "NELK Is A Menace To Society - Content Court", 6842, false, "ZPt1p_KeTEE", "https://www.youtube.com/watch?v=ZPt1p_KeTEE", "/downloads/H3 Podcast/2021-10-14 NELK Is A Menace To Society - Content Court/NELK Is A Menace To Society - Content Court [ZPt1p_KeTEE].mp4", false, 1, ~U[2021-10-14 19:41:49Z]] 11:18:31.941 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=179.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:31.944 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.2ms idle=33.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:31.947 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=31.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 [129] 11:18:31.947 [debug] Current batch of media processed. Will check again in 1000ms 11:18:32.949 [debug] Current batch of media processed. Will check again in 1000ms 11:18:33.956 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6591, "filename" => "/downloads/H3 Podcast/2021-10-14 (Members) Content Court: The NELK Boys/(Members) Content Court: The NELK Boys [yLKsCgC_q3Y].NA", "id" => "yLKsCgC_q3Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yLKsCgC_q3Y", "playlist_index" => 130, "timestamp" => 1634170493, "title" => "(Members) Content Court: The NELK Boys", "upload_date" => "20211014"} 11:18:33.960 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=760.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:33.964 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=763.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:33.970 [debug] QUERY OK source="media_items" db=5.4ms queue=0.1ms idle=767.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-14 00:14:53Z], 1] 11:18:33.979 [debug] QUERY OK source="media_items" db=6.4ms queue=0.1ms idle=188.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Content Court: The NELK Boys", "6093837e-50c1-4521-9936-8e0cb42a17da", 6591, false, "yLKsCgC_q3Y", "https://www.youtube.com/watch?v=yLKsCgC_q3Y", 130, "/downloads/H3 Podcast/2021-10-14 (Members) Content Court: The NELK Boys/(Members) Content Court: The NELK Boys [yLKsCgC_q3Y].NA", false, false, false, 1, [], 97, ~U[2021-10-14 00:14:53Z], ~U[2026-04-11 23:18:33Z], ~U[2026-04-11 23:18:33Z], "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Content Court: The NELK Boys", 6591, false, "yLKsCgC_q3Y", "https://www.youtube.com/watch?v=yLKsCgC_q3Y", "/downloads/H3 Podcast/2021-10-14 (Members) Content Court: The NELK Boys/(Members) Content Court: The NELK Boys [yLKsCgC_q3Y].NA", false, 1, ~U[2021-10-14 00:14:53Z]] 11:18:33.982 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=184.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:33.985 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.1ms idle=23.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:33.991 [debug] QUERY OK source="media_items" db=3.1ms queue=0.2ms idle=23.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 [130] 11:18:33.992 [debug] Current batch of media processed. Will check again in 1000ms 11:18:34.627 [info] {"source":"oban","duration":4710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:34.993 [debug] Current batch of media processed. Will check again in 1000ms 11:18:35.995 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7441, "filename" => "/downloads/H3 Podcast/2021-10-10 We Have Our First Heated Debate - Leftovers #3/We Have Our First Heated Debate - Leftovers #3 [vjluqyN7SNk].mp4", "id" => "vjluqyN7SNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vjluqyN7SNk", "playlist_index" => 131, "timestamp" => 1633892413, "title" => "We Have Our First Heated Debate - Leftovers #3", "upload_date" => "20211010"} 11:18:35.998 [debug] QUERY OK source="sources" db=0.8ms queue=0.4ms idle=1138.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:36.001 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=802.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:36.012 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=804.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-10 19:00:13Z], 1] 11:18:36.023 [debug] QUERY OK source="media_items" db=9.0ms queue=0.2ms idle=160.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Have Our First Heated Debate - Leftovers #3", "d63a8475-78fa-43dd-89e3-c4d1a834b340", 7441, false, "vjluqyN7SNk", "https://www.youtube.com/watch?v=vjluqyN7SNk", 131, "/downloads/H3 Podcast/2021-10-10 We Have Our First Heated Debate - Leftovers #3/We Have Our First Heated Debate - Leftovers #3 [vjluqyN7SNk].mp4", false, false, false, 1, [], 99, ~U[2021-10-10 19:00:13Z], ~U[2026-04-11 23:18:36Z], ~U[2026-04-11 23:18:36Z], "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Have Our First Heated Debate - Leftovers #3", 7441, false, "vjluqyN7SNk", "https://www.youtube.com/watch?v=vjluqyN7SNk", "/downloads/H3 Podcast/2021-10-10 We Have Our First Heated Debate - Leftovers #3/We Have Our First Heated Debate - Leftovers #3 [vjluqyN7SNk].mp4", false, 1, ~U[2021-10-10 19:00:13Z]] 11:18:36.025 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=161.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:36.028 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.2ms idle=29.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:36.031 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=28.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 [131] 11:18:36.032 [debug] Current batch of media processed. Will check again in 1000ms 11:18:37.034 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7441, "filename" => "/downloads/H3 Podcast/2021-10-08 (Members) Ben Shapiro Endorses Mass Murder - Leftovers #3/(Members) Ben Shapiro Endorses Mass Murder - Leftovers #3 [Z4Guv-37jcc].NA", "id" => "Z4Guv-37jcc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Z4Guv-37jcc", "playlist_index" => 132, "timestamp" => 1633651361, "title" => "(Members) Ben Shapiro Endorses Mass Murder - Leftovers #3", "upload_date" => "20211008"} 11:18:37.036 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:37.038 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1009.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:37.042 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=1006.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-08 00:02:41Z], 1] 11:18:37.051 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=185.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Ben Shapiro Endorses Mass Murder - Leftovers #3", "09493d06-ee29-4a53-afec-3e21f6b1a66f", 7441, false, "Z4Guv-37jcc", "https://www.youtube.com/watch?v=Z4Guv-37jcc", 132, "/downloads/H3 Podcast/2021-10-08 (Members) Ben Shapiro Endorses Mass Murder - Leftovers #3/(Members) Ben Shapiro Endorses Mass Murder - Leftovers #3 [Z4Guv-37jcc].NA", false, false, false, 1, [], 99, ~U[2021-10-08 00:02:41Z], ~U[2026-04-11 23:18:37Z], ~U[2026-04-11 23:18:37Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Ben Shapiro Endorses Mass Murder - Leftovers #3", 7441, false, "Z4Guv-37jcc", "https://www.youtube.com/watch?v=Z4Guv-37jcc", "/downloads/H3 Podcast/2021-10-08 (Members) Ben Shapiro Endorses Mass Murder - Leftovers #3/(Members) Ben Shapiro Endorses Mass Murder - Leftovers #3 [Z4Guv-37jcc].NA", false, 1, ~U[2021-10-08 00:02:41Z]] 11:18:37.054 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms idle=185.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:37.056 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.2ms idle=18.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:37.058 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=18.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 [132] 11:18:37.059 [debug] Current batch of media processed. Will check again in 1000ms 11:18:38.064 [debug] Current batch of media processed. Will check again in 1000ms 11:18:39.069 [debug] Current batch of media processed. Will check again in 1000ms 11:18:40.071 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://curology.com/h3 & http://kraken.com/h3 & http://mintmobile.com/h3 & http://policygenius.com/h3podcast for sponsoring this episode!!!\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5826, "filename" => "/downloads/H3 Podcast/2021-10-07 Kim Kardashian Threatened Me - Off The Rails #14/Kim Kardashian Threatened Me - Off The Rails #14 [wtOzt-oLZ3Q].mp4", "id" => "wtOzt-oLZ3Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wtOzt-oLZ3Q", "playlist_index" => 133, "timestamp" => 1633635894, "title" => "Kim Kardashian Threatened Me - Off The Rails #14", "upload_date" => "20211007"} 11:18:40.074 [debug] QUERY OK source="sources" db=1.9ms queue=0.3ms idle=1873.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:40.078 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1198.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:40.091 [debug] QUERY OK source="media_items" db=12.3ms queue=0.1ms idle=1195.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-07 19:44:54Z], 1] 11:18:40.114 [debug] QUERY OK source="media_items" db=20.6ms queue=0.1ms idle=192.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://curology.com/h3 & http://kraken.com/h3 & http://mintmobile.com/h3 & http://policygenius.com/h3podcast for sponsoring this episode!!!\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Kim Kardashian Threatened Me - Off The Rails #14", "1be7aa37-e7db-41ca-a335-41c0c50ef1e0", 5826, false, "wtOzt-oLZ3Q", "https://www.youtube.com/watch?v=wtOzt-oLZ3Q", 133, "/downloads/H3 Podcast/2021-10-07 Kim Kardashian Threatened Me - Off The Rails #14/Kim Kardashian Threatened Me - Off The Rails #14 [wtOzt-oLZ3Q].mp4", false, false, false, 1, [], 99, ~U[2021-10-07 19:44:54Z], ~U[2026-04-11 23:18:40Z], ~U[2026-04-11 23:18:40Z], "Thank you to http://curology.com/h3 & http://kraken.com/h3 & http://mintmobile.com/h3 & http://policygenius.com/h3podcast for sponsoring this episode!!!\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Kim Kardashian Threatened Me - Off The Rails #14", 5826, false, "wtOzt-oLZ3Q", "https://www.youtube.com/watch?v=wtOzt-oLZ3Q", "/downloads/H3 Podcast/2021-10-07 Kim Kardashian Threatened Me - Off The Rails #14/Kim Kardashian Threatened Me - Off The Rails #14 [wtOzt-oLZ3Q].mp4", false, 1, ~U[2021-10-07 19:44:54Z]] 11:18:40.119 [debug] QUERY OK source="sources" db=3.3ms queue=0.2ms idle=199.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:40.122 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=45.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:40.126 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=45.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 [133] 11:18:40.128 [debug] Current batch of media processed. Will check again in 1000ms 11:18:41.139 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5408, "filename" => "/downloads/H3 Podcast/2021-10-07 (Members) Squid Game IN REAL LIFE - Off The Rails #14/(Members) Squid Game IN REAL LIFE - Off The Rails #14 [-rQXLlXBjIY].NA", "id" => "-rQXLlXBjIY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-rQXLlXBjIY", "playlist_index" => 134, "timestamp" => 1633584399, "title" => "(Members) Squid Game IN REAL LIFE - Off The Rails #14", "upload_date" => "20211007"} 11:18:41.145 [debug] QUERY OK source="sources" db=2.9ms queue=0.6ms idle=1022.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:41.151 [debug] QUERY OK source="sources" db=3.5ms queue=0.3ms 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" = ?) [1] 11:18:41.158 [debug] QUERY OK source="media_items" db=5.1ms queue=0.2ms idle=1025.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-07 05:26:39Z], 1] 11:18:41.169 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=249.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Squid Game IN REAL LIFE - Off The Rails #14", "d2afd0ba-56ae-4853-ab82-b327736c4a7a", 5408, false, "-rQXLlXBjIY", "https://www.youtube.com/watch?v=-rQXLlXBjIY", 134, "/downloads/H3 Podcast/2021-10-07 (Members) Squid Game IN REAL LIFE - Off The Rails #14/(Members) Squid Game IN REAL LIFE - Off The Rails #14 [-rQXLlXBjIY].NA", false, false, false, 1, [], 98, ~U[2021-10-07 05:26:39Z], ~U[2026-04-11 23:18:41Z], ~U[2026-04-11 23:18:41Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Squid Game IN REAL LIFE - Off The Rails #14", 5408, false, "-rQXLlXBjIY", "https://www.youtube.com/watch?v=-rQXLlXBjIY", "/downloads/H3 Podcast/2021-10-07 (Members) Squid Game IN REAL LIFE - Off The Rails #14/(Members) Squid Game IN REAL LIFE - Off The Rails #14 [-rQXLlXBjIY].NA", false, 1, ~U[2021-10-07 05:26:39Z]] 11:18:41.172 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=247.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:41.173 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=27.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:41.176 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms 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 [134] 11:18:41.176 [debug] Current batch of media processed. Will check again in 1000ms 11:18:42.190 [debug] Current batch of media processed. Will check again in 1000ms 11:18:43.194 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://harrys.com/leftovers for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5745, "filename" => "/downloads/H3 Podcast/2021-10-03 Steven Crowder Freaks Out Over Black James Bond - Leftovers #2/Steven Crowder Freaks Out Over Black James Bond - Leftovers #2 [bnjJkVcayac].mp4", "id" => "bnjJkVcayac", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bnjJkVcayac", "playlist_index" => 135, "timestamp" => 1633288844, "title" => "Steven Crowder Freaks Out Over Black James Bond - Leftovers #2", "upload_date" => "20211003"} 11:18:43.197 [debug] QUERY OK source="sources" db=1.0ms queue=0.4ms idle=909.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:43.201 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=913.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:43.214 [debug] QUERY OK source="media_items" db=11.5ms queue=0.2ms idle=916.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-03 19:20:44Z], 1] 11:18:43.235 [debug] QUERY OK source="media_items" db=18.4ms queue=0.3ms idle=289.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://harrys.com/leftovers for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Steven Crowder Freaks Out Over Black James Bond - Leftovers #2", "9501c3af-3737-4a79-baa3-f7e3e9936f75", 5745, false, "bnjJkVcayac", "https://www.youtube.com/watch?v=bnjJkVcayac", 135, "/downloads/H3 Podcast/2021-10-03 Steven Crowder Freaks Out Over Black James Bond - Leftovers #2/Steven Crowder Freaks Out Over Black James Bond - Leftovers #2 [bnjJkVcayac].mp4", false, false, false, 1, [], 99, ~U[2021-10-03 19:20:44Z], ~U[2026-04-11 23:18:43Z], ~U[2026-04-11 23:18:43Z], "Thank you to http://harrys.com/leftovers for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Steven Crowder Freaks Out Over Black James Bond - Leftovers #2", 5745, false, "bnjJkVcayac", "https://www.youtube.com/watch?v=bnjJkVcayac", "/downloads/H3 Podcast/2021-10-03 Steven Crowder Freaks Out Over Black James Bond - Leftovers #2/Steven Crowder Freaks Out Over Black James Bond - Leftovers #2 [bnjJkVcayac].mp4", false, 1, ~U[2021-10-03 19:20:44Z]] 11:18:43.238 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=303.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:43.240 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=41.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:43.243 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=39.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 [135] 11:18:43.243 [debug] Current batch of media processed. Will check again in 1000ms 11:18:44.249 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5610, "filename" => "/downloads/H3 Podcast/2021-10-01 (Members) Don Jr. Made Us A Cameo - Leftovers #2/(Members) Don Jr. Made Us A Cameo - Leftovers #2 [iEERY5fmKyg].NA", "id" => "iEERY5fmKyg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iEERY5fmKyg", "playlist_index" => 136, "timestamp" => 1633132100, "title" => "(Members) Don Jr. Made Us A Cameo - Leftovers #2", "upload_date" => "20211001"} 11:18:44.251 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=1012.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:44.253 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1012.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:44.257 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=1010.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-10-01 23:48:20Z], 1] 11:18:44.267 [debug] QUERY OK source="media_items" db=9.0ms queue=0.1ms idle=325.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Don Jr. Made Us A Cameo - Leftovers #2", "488e1dc9-1767-4304-bb57-449c5316e343", 5610, false, "iEERY5fmKyg", "https://www.youtube.com/watch?v=iEERY5fmKyg", 136, "/downloads/H3 Podcast/2021-10-01 (Members) Don Jr. Made Us A Cameo - Leftovers #2/(Members) Don Jr. Made Us A Cameo - Leftovers #2 [iEERY5fmKyg].NA", false, false, false, 1, [], 99, ~U[2021-10-01 23:48:20Z], ~U[2026-04-11 23:18:44Z], ~U[2026-04-11 23:18:44Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Don Jr. Made Us A Cameo - Leftovers #2", 5610, false, "iEERY5fmKyg", "https://www.youtube.com/watch?v=iEERY5fmKyg", "/downloads/H3 Podcast/2021-10-01 (Members) Don Jr. Made Us A Cameo - Leftovers #2/(Members) Don Jr. Made Us A Cameo - Leftovers #2 [iEERY5fmKyg].NA", false, 1, ~U[2021-10-01 23:48:20Z]] 11:18:44.269 [debug] QUERY OK source="sources" db=1.1ms queue=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" = ?) [1] 11:18:44.271 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=18.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:44.273 [debug] QUERY OK source="media_items" db=1.8ms idle=18.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [136] 11:18:44.274 [debug] Current batch of media processed. Will check again in 1000ms 11:18:45.278 [debug] Current batch of media processed. Will check again in 1000ms 11:18:46.281 [debug] Current batch of media processed. Will check again in 1000ms 11:18:50.237 [debug] Current batch of media processed. Will check again in 1000ms 11:18:51.241 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://kamikoto.com/H3 & http://policygenius.com/h3podcast & http://hellofresh.com/h314 (use code: H314 for up to 14 free meals & free shipping) & http://liquidIV.com (use code: H3) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5777, "filename" => "/downloads/H3 Podcast/2021-09-30 We Play Silent Library - Off The Rails #13/We Play Silent Library - Off The Rails #13 [r3TZwHQMND8].mp4", "id" => "r3TZwHQMND8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=r3TZwHQMND8", "playlist_index" => 137, "timestamp" => 1633037135, "title" => "We Play Silent Library - Off The Rails #13", "upload_date" => "20210930"} 11:18:51.245 [debug] QUERY OK source="sources" db=1.1ms queue=0.4ms idle=1006.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:51.248 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms idle=1009.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:51.261 [debug] QUERY OK source="media_items" db=11.4ms queue=0.1ms idle=1012.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-30 21:25:35Z], 1] 11:18:51.274 [debug] QUERY OK source="media_items" db=11.2ms queue=0.1ms idle=996.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://kamikoto.com/H3 & http://policygenius.com/h3podcast & http://hellofresh.com/h314 (use code: H314 for up to 14 free meals & free shipping) & http://liquidIV.com (use code: H3) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Play Silent Library - Off The Rails #13", "c998005d-6d27-4a79-8555-6d2ca6d16992", 5777, false, "r3TZwHQMND8", "https://www.youtube.com/watch?v=r3TZwHQMND8", 137, "/downloads/H3 Podcast/2021-09-30 We Play Silent Library - Off The Rails #13/We Play Silent Library - Off The Rails #13 [r3TZwHQMND8].mp4", false, false, false, 1, [], 99, ~U[2021-09-30 21:25:35Z], ~U[2026-04-11 23:18:51Z], ~U[2026-04-11 23:18:51Z], "Thank you to http://kamikoto.com/H3 & http://policygenius.com/h3podcast & http://hellofresh.com/h314 (use code: H314 for up to 14 free meals & free shipping) & http://liquidIV.com (use code: H3) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "We Play Silent Library - Off The Rails #13", 5777, false, "r3TZwHQMND8", "https://www.youtube.com/watch?v=r3TZwHQMND8", "/downloads/H3 Podcast/2021-09-30 We Play Silent Library - Off The Rails #13/We Play Silent Library - Off The Rails #13 [r3TZwHQMND8].mp4", false, 1, ~U[2021-09-30 21:25:35Z]] 11:18:51.277 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms idle=30.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:51.278 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=28.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:51.281 [debug] QUERY OK source="media_items" db=1.9ms idle=18.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137] 11:18:51.282 [debug] Current batch of media processed. Will check again in 1000ms 11:18:52.284 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5087, "filename" => "/downloads/H3 Podcast/2021-09-30 (Members) Silent Library - Off The Rails #13/(Members) Silent Library - Off The Rails #13 [nawgZpavIBw].NA", "id" => "nawgZpavIBw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nawgZpavIBw", "playlist_index" => 138, "timestamp" => 1632979440, "title" => "(Members) Silent Library - Off The Rails #13", "upload_date" => "20210930"} 11:18:52.287 [debug] QUERY OK source="sources" db=0.9ms queue=0.7ms idle=1008.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:52.289 [debug] QUERY OK source="sources" db=0.7ms queue=1.3ms idle=1008.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:52.296 [debug] QUERY OK source="media_items" db=5.2ms queue=0.2ms idle=1008.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-30 05:24:00Z], 1] 11:18:52.302 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Silent Library - Off The Rails #13", "db21e0a0-e947-40f5-b712-757d5cb0473c", 5087, false, "nawgZpavIBw", "https://www.youtube.com/watch?v=nawgZpavIBw", 138, "/downloads/H3 Podcast/2021-09-30 (Members) Silent Library - Off The Rails #13/(Members) Silent Library - Off The Rails #13 [nawgZpavIBw].NA", false, false, false, 1, [], 98, ~U[2021-09-30 05:24:00Z], ~U[2026-04-11 23:18:52Z], ~U[2026-04-11 23:18:52Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Silent Library - Off The Rails #13", 5087, false, "nawgZpavIBw", "https://www.youtube.com/watch?v=nawgZpavIBw", "/downloads/H3 Podcast/2021-09-30 (Members) Silent Library - Off The Rails #13/(Members) Silent Library - Off The Rails #13 [nawgZpavIBw].NA", false, 1, ~U[2021-09-30 05:24:00Z]] 11:18:52.304 [debug] QUERY OK source="sources" db=1.9ms idle=15.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:52.306 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=15.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:52.309 [debug] QUERY OK source="media_items" db=1.5ms queue=0.9ms idle=11.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138] 11:18:52.310 [debug] Current batch of media processed. Will check again in 1000ms 11:18:53.312 [debug] Current batch of media processed. Will check again in 1000ms 11:18:54.315 [debug] Current batch of media processed. Will check again in 1000ms 11:18:55.317 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://Policygenius.com & http://GetQuip.com/Leftovers & http://HelloFresh.com/leftovers14 (use code: leftovers14) & http://Stamps.com (use code: Leftover) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 8865, "filename" => "/downloads/H3 Podcast/2021-09-26 And The New Host Is... Leftovers #1/And The New Host Is... Leftovers #1 [uASzNUFT5Dk].mp4", "id" => "uASzNUFT5Dk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uASzNUFT5Dk", "playlist_index" => 139, "timestamp" => 1632682906, "title" => "And The New Host Is... Leftovers #1", "upload_date" => "20210926"} 11:18:55.320 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=1094.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:55.323 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=1016.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:55.333 [debug] QUERY OK source="media_items" db=8.7ms queue=1.1ms idle=1008.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-26 19:01:46Z], 1] 11:18:55.346 [debug] QUERY OK source="media_items" db=10.5ms queue=0.1ms idle=22.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://Policygenius.com & http://GetQuip.com/Leftovers & http://HelloFresh.com/leftovers14 (use code: leftovers14) & http://Stamps.com (use code: Leftover) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "And The New Host Is... Leftovers #1", "30730f19-465d-4e46-a81a-be2d2c7914fa", 8865, false, "uASzNUFT5Dk", "https://www.youtube.com/watch?v=uASzNUFT5Dk", 139, "/downloads/H3 Podcast/2021-09-26 And The New Host Is... Leftovers #1/And The New Host Is... Leftovers #1 [uASzNUFT5Dk].mp4", false, false, false, 1, [], 99, ~U[2021-09-26 19:01:46Z], ~U[2026-04-11 23:18:55Z], ~U[2026-04-11 23:18:55Z], "Thank you to http://Policygenius.com & http://GetQuip.com/Leftovers & http://HelloFresh.com/leftovers14 (use code: leftovers14) & http://Stamps.com (use code: Leftover) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "And The New Host Is... Leftovers #1", 8865, false, "uASzNUFT5Dk", "https://www.youtube.com/watch?v=uASzNUFT5Dk", "/downloads/H3 Podcast/2021-09-26 And The New Host Is... Leftovers #1/And The New Host Is... Leftovers #1 [uASzNUFT5Dk].mp4", false, 1, ~U[2021-09-26 19:01:46Z]] 11:18:55.348 [debug] QUERY OK source="sources" db=1.2ms queue=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" = ?) [1] 11:18:55.350 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=26.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:55.353 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=28.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 [139] 11:18:55.354 [debug] Current batch of media processed. Will check again in 1000ms 11:18:56.360 [debug] Current batch of media processed. Will check again in 1000ms 11:18:57.361 [debug] Current batch of media processed. Will check again in 1000ms 11:18:58.365 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://Kraken.com/h3 & http://MeUndies.com/H3 & http://Upstart.com/H3 & http://Stamps.com (click to microphone at the top of the page and use code: H3) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 4009, "filename" => "/downloads/H3 Podcast/2021-09-23 The Hardest Episode I’ve Ever Had To Make - Off The Rails #12/The Hardest Episode I’ve Ever Had To Make - Off The Rails #12 [14GDTiQ-_pE].mp4", "id" => "14GDTiQ-_pE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=14GDTiQ-_pE", "playlist_index" => 140, "timestamp" => 1632422303, "title" => "The Hardest Episode I’ve Ever Had To Make - Off The Rails #12", "upload_date" => "20210923"} 11:18:58.368 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=1138.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:58.371 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1038.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:58.380 [debug] QUERY OK source="media_items" db=8.3ms idle=1031.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-23 18:38:23Z], 1] 11:18:58.392 [debug] QUERY OK source="media_items" db=9.3ms queue=0.1ms idle=34.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://Kraken.com/h3 & http://MeUndies.com/H3 & http://Upstart.com/H3 & http://Stamps.com (click to microphone at the top of the page and use code: H3) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Hardest Episode I’ve Ever Had To Make - Off The Rails #12", "be72c1e0-c5c5-465d-884f-72783df0297b", 4009, false, "14GDTiQ-_pE", "https://www.youtube.com/watch?v=14GDTiQ-_pE", 140, "/downloads/H3 Podcast/2021-09-23 The Hardest Episode I’ve Ever Had To Make - Off The Rails #12/The Hardest Episode I’ve Ever Had To Make - Off The Rails #12 [14GDTiQ-_pE].mp4", false, false, false, 1, [], 99, ~U[2021-09-23 18:38:23Z], ~U[2026-04-11 23:18:58Z], ~U[2026-04-11 23:18:58Z], "Thank you to http://Kraken.com/h3 & http://MeUndies.com/H3 & http://Upstart.com/H3 & http://Stamps.com (click to microphone at the top of the page and use code: H3) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Hardest Episode I’ve Ever Had To Make - Off The Rails #12", 4009, false, "14GDTiQ-_pE", "https://www.youtube.com/watch?v=14GDTiQ-_pE", "/downloads/H3 Podcast/2021-09-23 The Hardest Episode I’ve Ever Had To Make - Off The Rails #12/The Hardest Episode I’ve Ever Had To Make - Off The Rails #12 [14GDTiQ-_pE].mp4", false, 1, ~U[2021-09-23 18:38:23Z]] 11:18:58.394 [debug] QUERY OK source="sources" db=1.2ms queue=0.3ms idle=30.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:58.396 [debug] QUERY OK source="media_profiles" db=1.3ms idle=25.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:58.398 [debug] QUERY OK source="media_items" db=1.9ms idle=25.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 [140] 11:18:58.399 [debug] Current batch of media processed. Will check again in 1000ms 11:18:59.407 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3644, "filename" => "/downloads/H3 Podcast/2021-09-23 (Members) I Barely Made It Through This Episode - Off The Rails #12/(Members) I Barely Made It Through This Episode - Off The Rails #12 [XIFwiLrk268].NA", "id" => "XIFwiLrk268", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XIFwiLrk268", "playlist_index" => 141, "timestamp" => 1632358867, "title" => "(Members) I Barely Made It Through This Episode - Off The Rails #12", "upload_date" => "20210923"} 11:18:59.415 [debug] QUERY OK source="sources" db=4.4ms queue=0.9ms idle=1015.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:18:59.419 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms 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" = ?) [1] 11:18:59.425 [debug] QUERY OK source="media_items" db=4.6ms queue=0.2ms idle=1021.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-23 01:01:07Z], 1] 11:18:59.434 [debug] QUERY OK source="media_items" db=7.6ms queue=0.1ms idle=58.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) I Barely Made It Through This Episode - Off The Rails #12", "53d8450e-43f9-40c6-8d9d-4adc2a3cc282", 3644, false, "XIFwiLrk268", "https://www.youtube.com/watch?v=XIFwiLrk268", 141, "/downloads/H3 Podcast/2021-09-23 (Members) I Barely Made It Through This Episode - Off The Rails #12/(Members) I Barely Made It Through This Episode - Off The Rails #12 [XIFwiLrk268].NA", false, false, false, 1, [], 98, ~U[2021-09-23 01:01:07Z], ~U[2026-04-11 23:18:59Z], ~U[2026-04-11 23:18:59Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) I Barely Made It Through This Episode - Off The Rails #12", 3644, false, "XIFwiLrk268", "https://www.youtube.com/watch?v=XIFwiLrk268", "/downloads/H3 Podcast/2021-09-23 (Members) I Barely Made It Through This Episode - Off The Rails #12/(Members) I Barely Made It Through This Episode - Off The Rails #12 [XIFwiLrk268].NA", false, 1, ~U[2021-09-23 01:01:07Z]] 11:18:59.438 [debug] QUERY OK source="sources" db=1.7ms queue=0.4ms idle=53.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:18:59.439 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=23.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:18:59.443 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=21.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 [141] 11:18:59.443 [debug] Current batch of media processed. Will check again in 1000ms 11:19:00.447 [debug] Current batch of media processed. Will check again in 1000ms 11:19:00.668 [info] {"source":"oban","duration":1392,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:19:01.449 [debug] Current batch of media processed. Will check again in 1000ms 11:19:02.462 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://Curology.com/H3 & http://Kraken.com/H3 & http://PolicyGenius.com/h3podcast for sponsoring today's episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5062, "filename" => "/downloads/H3 Podcast/2021-09-09 Finally Releasing The DMs - Off The Rails #11/Finally Releasing The DMs - Off The Rails #11 [AFkY41u0LGA].mp4", "id" => "AFkY41u0LGA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AFkY41u0LGA", "playlist_index" => 142, "timestamp" => 1631213642, "title" => "Finally Releasing The DMs - Off The Rails #11", "upload_date" => "20210909"} 11:19:02.473 [debug] QUERY OK source="sources" db=5.5ms queue=1.1ms idle=1079.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:02.477 [debug] QUERY OK source="sources" db=0.8ms queue=0.3ms idle=1080.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:02.491 [debug] QUERY OK source="media_items" db=13.4ms queue=0.1ms idle=246.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-09 18:54:02Z], 1] 11:19:02.503 [debug] QUERY OK source="media_items" db=9.2ms queue=0.2ms idle=83.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://Curology.com/H3 & http://Kraken.com/H3 & http://PolicyGenius.com/h3podcast for sponsoring today's episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Finally Releasing The DMs - Off The Rails #11", "836c4385-8ac7-40ff-a2db-ad2c3d88cb7d", 5062, false, "AFkY41u0LGA", "https://www.youtube.com/watch?v=AFkY41u0LGA", 142, "/downloads/H3 Podcast/2021-09-09 Finally Releasing The DMs - Off The Rails #11/Finally Releasing The DMs - Off The Rails #11 [AFkY41u0LGA].mp4", false, false, false, 1, [], 99, ~U[2021-09-09 18:54:02Z], ~U[2026-04-11 23:19:02Z], ~U[2026-04-11 23:19:02Z], "Thank you to http://Curology.com/H3 & http://Kraken.com/H3 & http://PolicyGenius.com/h3podcast for sponsoring today's episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Finally Releasing The DMs - Off The Rails #11", 5062, false, "AFkY41u0LGA", "https://www.youtube.com/watch?v=AFkY41u0LGA", "/downloads/H3 Podcast/2021-09-09 Finally Releasing The DMs - Off The Rails #11/Finally Releasing The DMs - Off The Rails #11 [AFkY41u0LGA].mp4", false, 1, ~U[2021-09-09 18:54:02Z]] 11:19:02.505 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=79.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:02.508 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.6ms idle=33.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:02.512 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=31.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 [142] 11:19:02.512 [debug] Current batch of media processed. Will check again in 1000ms 11:19:03.513 [debug] Current batch of media processed. Will check again in 1000ms 11:19:04.517 [debug] Current batch of media processed. Will check again in 1000ms 11:19:04.635 [info] {"source":"oban","duration":5939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:05.532 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Ting Mobile (Get a $25 credit to try Ting Mobile at http://h3.ting.com) for sponsoring today's video!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6563, "filename" => "/downloads/H3 Podcast/2021-09-02 Ethan Got Arrested - Off The Rails #10/Ethan Got Arrested - Off The Rails #10 [ZxzPBgRuPuI].mp4", "id" => "ZxzPBgRuPuI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZxzPBgRuPuI", "playlist_index" => 143, "timestamp" => 1630613623, "title" => "Ethan Got Arrested - Off The Rails #10", "upload_date" => "20210902"} 11:19:05.535 [debug] QUERY OK source="sources" db=1.5ms queue=0.3ms idle=1103.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:05.538 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=1096.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:05.551 [debug] QUERY OK source="media_items" db=12.8ms queue=0.1ms idle=904.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-02 20:13:43Z], 1] 11:19:05.570 [debug] QUERY OK source="media_items" db=16.0ms queue=0.1ms idle=106.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Ting Mobile (Get a $25 credit to try Ting Mobile at http://h3.ting.com) for sponsoring today's video!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ethan Got Arrested - Off The Rails #10", "763cf147-9a8e-4e38-ab25-5d3b0ef9aec8", 6563, false, "ZxzPBgRuPuI", "https://www.youtube.com/watch?v=ZxzPBgRuPuI", 143, "/downloads/H3 Podcast/2021-09-02 Ethan Got Arrested - Off The Rails #10/Ethan Got Arrested - Off The Rails #10 [ZxzPBgRuPuI].mp4", false, false, false, 1, [], 99, ~U[2021-09-02 20:13:43Z], ~U[2026-04-11 23:19:05Z], ~U[2026-04-11 23:19:05Z], "Thank you to Ting Mobile (Get a $25 credit to try Ting Mobile at http://h3.ting.com) for sponsoring today's video!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ethan Got Arrested - Off The Rails #10", 6563, false, "ZxzPBgRuPuI", "https://www.youtube.com/watch?v=ZxzPBgRuPuI", "/downloads/H3 Podcast/2021-09-02 Ethan Got Arrested - Off The Rails #10/Ethan Got Arrested - Off The Rails #10 [ZxzPBgRuPuI].mp4", false, 1, ~U[2021-09-02 20:13:43Z]] 11:19:05.573 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=107.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:05.575 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.2ms idle=38.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:05.577 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=38.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 [143] 11:19:05.578 [debug] Current batch of media processed. Will check again in 1000ms 11:19:06.586 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6498, "filename" => "/downloads/H3 Podcast/2021-09-01 (Members) The Kings of Clickbait - Off the Rails #10/(Members) The Kings of Clickbait - Off the Rails #10 [3zqQ6mwEt1I].NA", "id" => "3zqQ6mwEt1I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3zqQ6mwEt1I", "playlist_index" => 144, "timestamp" => 1630540771, "title" => "(Members) The Kings of Clickbait - Off the Rails #10", "upload_date" => "20210901"} 11:19:06.596 [debug] QUERY OK source="sources" db=3.1ms queue=1.3ms idle=1018.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:06.604 [debug] QUERY OK source="sources" db=3.8ms queue=0.6ms idle=1024.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:06.612 [debug] QUERY OK source="media_items" db=5.5ms queue=0.3ms idle=1028.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-01 23:59:31Z], 1] 11:19:06.623 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=144.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) The Kings of Clickbait - Off the Rails #10", "bdde6b00-d4ac-489f-8ba6-8b9b0094b0d3", 6498, false, "3zqQ6mwEt1I", "https://www.youtube.com/watch?v=3zqQ6mwEt1I", 144, "/downloads/H3 Podcast/2021-09-01 (Members) The Kings of Clickbait - Off the Rails #10/(Members) The Kings of Clickbait - Off the Rails #10 [3zqQ6mwEt1I].NA", false, false, false, 1, [], 99, ~U[2021-09-01 23:59:31Z], ~U[2026-04-11 23:19:06Z], ~U[2026-04-11 23:19:06Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) The Kings of Clickbait - Off the Rails #10", 6498, false, "3zqQ6mwEt1I", "https://www.youtube.com/watch?v=3zqQ6mwEt1I", "/downloads/H3 Podcast/2021-09-01 (Members) The Kings of Clickbait - Off the Rails #10/(Members) The Kings of Clickbait - Off the Rails #10 [3zqQ6mwEt1I].NA", false, 1, ~U[2021-09-01 23:59:31Z]] 11:19:06.625 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=140.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:06.627 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=30.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:06.630 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=24.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [144] 11:19:06.631 [debug] Current batch of media processed. Will check again in 1000ms 11:19:07.632 [debug] Current batch of media processed. Will check again in 1000ms 11:19:08.633 [debug] Current batch of media processed. Will check again in 1000ms 11:19:09.640 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://kraken.com/h3 & http://hbom.ax/h3podcast & http://expressVPN.com/h3 & http://upstart.com/h3 for sponsoring this episode!\nVOTE FOR MR. VERIFIED: https://www.easypolls.net/poll.html?p=6126aa4fe4b0edb4ef70e4bd\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6657, "filename" => "/downloads/H3 Podcast/2021-08-26 Mr. Verified Contest - Off The Rails #9/Mr. Verified Contest - Off The Rails #9 [btR1WbNWzKc].mp4", "id" => "btR1WbNWzKc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=btR1WbNWzKc", "playlist_index" => 145, "timestamp" => 1630004626, "title" => "Mr. Verified Contest - Off The Rails #9", "upload_date" => "20210826"} 11:19:09.649 [debug] QUERY OK source="sources" db=3.3ms queue=1.2ms idle=1391.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:09.659 [debug] QUERY OK source="sources" db=5.6ms queue=0.7ms idle=1167.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:09.672 [debug] QUERY OK source="media_items" db=11.2ms queue=0.3ms idle=1168.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-26 19:03:46Z], 1] 11:19:09.683 [debug] QUERY OK source="media_items" db=8.5ms queue=0.1ms idle=171.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://kraken.com/h3 & http://hbom.ax/h3podcast & http://expressVPN.com/h3 & http://upstart.com/h3 for sponsoring this episode!\nVOTE FOR MR. VERIFIED: https://www.easypolls.net/poll.html?p=6126aa4fe4b0edb4ef70e4bd\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Mr. Verified Contest - Off The Rails #9", "3cc6b230-0cd5-46b6-a473-0a6201a3b844", 6657, false, "btR1WbNWzKc", "https://www.youtube.com/watch?v=btR1WbNWzKc", 145, "/downloads/H3 Podcast/2021-08-26 Mr. Verified Contest - Off The Rails #9/Mr. Verified Contest - Off The Rails #9 [btR1WbNWzKc].mp4", false, false, false, 1, [], 99, ~U[2021-08-26 19:03:46Z], ~U[2026-04-11 23:19:09Z], ~U[2026-04-11 23:19:09Z], "Thank you to http://kraken.com/h3 & http://hbom.ax/h3podcast & http://expressVPN.com/h3 & http://upstart.com/h3 for sponsoring this episode!\nVOTE FOR MR. VERIFIED: https://www.easypolls.net/poll.html?p=6126aa4fe4b0edb4ef70e4bd\n\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Mr. Verified Contest - Off The Rails #9", 6657, false, "btR1WbNWzKc", "https://www.youtube.com/watch?v=btR1WbNWzKc", "/downloads/H3 Podcast/2021-08-26 Mr. Verified Contest - Off The Rails #9/Mr. Verified Contest - Off The Rails #9 [btR1WbNWzKc].mp4", false, 1, ~U[2021-08-26 19:03:46Z]] 11:19:09.685 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=164.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:09.687 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.1ms idle=37.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:09.691 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=29.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 [145] 11:19:09.691 [debug] Current batch of media processed. Will check again in 1000ms 11:19:10.697 [debug] Current batch of media processed. Will check again in 1000ms 11:19:11.702 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://hellofresh.com/families14 (use code: families14 for up to 14 free meals & free shipping) & ROCCAT (go to http://bit.ly/3gqBrub to get Torch Mic's professional-quality audio) & http://Upstart.com/H3 for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5921, "filename" => "/downloads/H3 Podcast/2021-08-25 The Final Families Episode - Families #10/The Final Families Episode - Families #10 [WOAWl_s0Kjs].mp4", "id" => "WOAWl_s0Kjs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WOAWl_s0Kjs", "playlist_index" => 146, "timestamp" => 1629926334, "title" => "The Final Families Episode - Families #10", "upload_date" => "20210825"} 11:19:11.704 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=446.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:11.708 [debug] QUERY OK source="sources" db=1.1ms queue=0.7ms idle=449.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:11.717 [debug] QUERY OK source="media_items" db=8.7ms queue=0.1ms idle=452.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-25 21:18:54Z], 1] 11:19:11.727 [debug] QUERY OK source="media_items" db=7.5ms idle=201.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://hellofresh.com/families14 (use code: families14 for up to 14 free meals & free shipping) & ROCCAT (go to http://bit.ly/3gqBrub to get Torch Mic's professional-quality audio) & http://Upstart.com/H3 for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Final Families Episode - Families #10", "48f531fc-6a8a-4a06-a9f0-4292f6e898ee", 5921, false, "WOAWl_s0Kjs", "https://www.youtube.com/watch?v=WOAWl_s0Kjs", 146, "/downloads/H3 Podcast/2021-08-25 The Final Families Episode - Families #10/The Final Families Episode - Families #10 [WOAWl_s0Kjs].mp4", false, false, false, 1, [], 99, ~U[2021-08-25 21:18:54Z], ~U[2026-04-11 23:19:11Z], ~U[2026-04-11 23:19:11Z], "Thank you to http://hellofresh.com/families14 (use code: families14 for up to 14 free meals & free shipping) & ROCCAT (go to http://bit.ly/3gqBrub to get Torch Mic's professional-quality audio) & http://Upstart.com/H3 for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Final Families Episode - Families #10", 5921, false, "WOAWl_s0Kjs", "https://www.youtube.com/watch?v=WOAWl_s0Kjs", "/downloads/H3 Podcast/2021-08-25 The Final Families Episode - Families #10/The Final Families Episode - Families #10 [WOAWl_s0Kjs].mp4", false, 1, ~U[2021-08-25 21:18:54Z]] 11:19:11.729 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=200.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:11.730 [debug] QUERY OK source="media_profiles" db=0.7ms idle=25.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:11.732 [debug] QUERY OK source="media_items" db=1.2ms idle=23.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 [146] 11:19:11.733 [debug] Current batch of media processed. Will check again in 1000ms 11:19:12.735 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5599, "filename" => "/downloads/H3 Podcast/2021-08-25 (Members) The Final Families Episode - Families #10/(Members) The Final Families Episode - Families #10 [3JRZkwzzVkY].NA", "id" => "3JRZkwzzVkY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3JRZkwzzVkY", "playlist_index" => 147, "timestamp" => 1629849924, "title" => "(Members) The Final Families Episode - Families #10", "upload_date" => "20210825"} 11:19:12.738 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=1006.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:12.741 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=1008.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:12.747 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=1009.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-25 00:05:24Z], 1] 11:19:12.756 [debug] QUERY OK source="media_items" db=6.9ms queue=0.1ms idle=225.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) The Final Families Episode - Families #10", "f6c91d2e-aeca-48bd-87fc-1a5dcfae5107", 5599, false, "3JRZkwzzVkY", "https://www.youtube.com/watch?v=3JRZkwzzVkY", 147, "/downloads/H3 Podcast/2021-08-25 (Members) The Final Families Episode - Families #10/(Members) The Final Families Episode - Families #10 [3JRZkwzzVkY].NA", false, false, false, 1, [], 98, ~U[2021-08-25 00:05:24Z], ~U[2026-04-11 23:19:12Z], ~U[2026-04-11 23:19:12Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) The Final Families Episode - Families #10", 5599, false, "3JRZkwzzVkY", "https://www.youtube.com/watch?v=3JRZkwzzVkY", "/downloads/H3 Podcast/2021-08-25 (Members) The Final Families Episode - Families #10/(Members) The Final Families Episode - Families #10 [3JRZkwzzVkY].NA", false, 1, ~U[2021-08-25 00:05:24Z]] 11:19:12.759 [debug] QUERY OK source="sources" db=2.1ms queue=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:12.760 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=21.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:12.764 [debug] QUERY OK source="media_items" db=1.9ms queue=0.6ms idle=21.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [147] 11:19:12.765 [debug] Current batch of media processed. Will check again in 1000ms 11:19:13.767 [debug] Current batch of media processed. Will check again in 1000ms 11:19:14.771 [debug] Current batch of media processed. Will check again in 1000ms 11:19:15.782 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Ting (Get a $25 credit to try Ting Mobile at http://h3.ting.com) & http://brightcellars.com/fam & http://policygenius.com/families & http://getquip.com/families10 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5368, "filename" => "/downloads/H3 Podcast/2021-08-22 What Did My Mom Text Trisha? - Families #9/What Did My Mom Text Trisha? - Families #9 [wRKR0BPlIZ8].mp4", "id" => "wRKR0BPlIZ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wRKR0BPlIZ8", "playlist_index" => 148, "timestamp" => 1629657730, "title" => "What Did My Mom Text Trisha? - Families #9", "upload_date" => "20210822"} 11:19:15.791 [debug] QUERY OK source="sources" db=2.3ms queue=1.1ms idle=1525.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:15.800 [debug] QUERY OK source="sources" db=4.9ms queue=0.6ms idle=1128.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:15.814 [debug] QUERY OK source="media_items" db=12.8ms queue=0.2ms idle=1124.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-22 18:42:10Z], 1] 11:19:15.829 [debug] QUERY OK source="media_items" db=13.3ms queue=0.1ms idle=124.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Ting (Get a $25 credit to try Ting Mobile at http://h3.ting.com) & http://brightcellars.com/fam & http://policygenius.com/families & http://getquip.com/families10 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "What Did My Mom Text Trisha? - Families #9", "ba7770ac-3fc0-4d65-bd9a-3c5c3dd0210d", 5368, false, "wRKR0BPlIZ8", "https://www.youtube.com/watch?v=wRKR0BPlIZ8", 148, "/downloads/H3 Podcast/2021-08-22 What Did My Mom Text Trisha? - Families #9/What Did My Mom Text Trisha? - Families #9 [wRKR0BPlIZ8].mp4", false, false, false, 1, [], 99, ~U[2021-08-22 18:42:10Z], ~U[2026-04-11 23:19:15Z], ~U[2026-04-11 23:19:15Z], "Thank you to Ting (Get a $25 credit to try Ting Mobile at http://h3.ting.com) & http://brightcellars.com/fam & http://policygenius.com/families & http://getquip.com/families10 for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "What Did My Mom Text Trisha? - Families #9", 5368, false, "wRKR0BPlIZ8", "https://www.youtube.com/watch?v=wRKR0BPlIZ8", "/downloads/H3 Podcast/2021-08-22 What Did My Mom Text Trisha? - Families #9/What Did My Mom Text Trisha? - Families #9 [wRKR0BPlIZ8].mp4", false, 1, ~U[2021-08-22 18:42:10Z]] 11:19:15.832 [debug] QUERY OK source="sources" db=1.4ms queue=0.3ms idle=129.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:15.834 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=41.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:15.837 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=35.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 [148] 11:19:15.838 [debug] Current batch of media processed. Will check again in 1000ms 11:19:16.842 [debug] Current batch of media processed. Will check again in 1000ms 11:19:18.167 [debug] Current batch of media processed. Will check again in 1000ms 11:19:19.176 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://curology.com/H3 & http://kraken.com/h3 & http://policygenius.com/afterdark & http://meundies.com/h3 & http://hellofresh.com/h314 (use code: h314) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6611, "filename" => "/downloads/H3 Podcast/2021-08-19 I'm Done With Trisha Paytas - Off The Rails #8/I'm Done With Trisha Paytas - Off The Rails #8 [jFG57UkVvx8].mp4", "id" => "jFG57UkVvx8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jFG57UkVvx8", "playlist_index" => 149, "timestamp" => 1629416483, "title" => "I'm Done With Trisha Paytas - Off The Rails #8", "upload_date" => "20210819"} 11:19:19.181 [debug] QUERY OK source="sources" db=1.6ms queue=0.6ms idle=1915.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:19.184 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=1919.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:19.202 [debug] QUERY OK source="media_items" db=16.3ms queue=0.1ms idle=1017.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-19 23:41:23Z], 1] 11:19:19.227 [debug] QUERY OK source="media_items" db=22.1ms queue=0.3ms idle=22.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://curology.com/H3 & http://kraken.com/h3 & http://policygenius.com/afterdark & http://meundies.com/h3 & http://hellofresh.com/h314 (use code: h314) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "I'm Done With Trisha Paytas - Off The Rails #8", "971e069a-f8b1-4aa2-9132-6a96fc4eb2aa", 6611, false, "jFG57UkVvx8", "https://www.youtube.com/watch?v=jFG57UkVvx8", 149, "/downloads/H3 Podcast/2021-08-19 I'm Done With Trisha Paytas - Off The Rails #8/I'm Done With Trisha Paytas - Off The Rails #8 [jFG57UkVvx8].mp4", false, false, false, 1, [], 99, ~U[2021-08-19 23:41:23Z], ~U[2026-04-11 23:19:19Z], ~U[2026-04-11 23:19:19Z], "Thank you to http://curology.com/H3 & http://kraken.com/h3 & http://policygenius.com/afterdark & http://meundies.com/h3 & http://hellofresh.com/h314 (use code: h314) for sponsoring this episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "I'm Done With Trisha Paytas - Off The Rails #8", 6611, false, "jFG57UkVvx8", "https://www.youtube.com/watch?v=jFG57UkVvx8", "/downloads/H3 Podcast/2021-08-19 I'm Done With Trisha Paytas - Off The Rails #8/I'm Done With Trisha Paytas - Off The Rails #8 [jFG57UkVvx8].mp4", false, 1, ~U[2021-08-19 23:41:23Z]] 11:19:19.229 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=43.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:19.232 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.1ms idle=38.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:19.234 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=31.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 [149] 11:19:19.235 [debug] Current batch of media processed. Will check again in 1000ms 11:19:20.237 [debug] Current batch of media processed. Will check again in 1000ms 11:19:21.241 [debug] Current batch of media processed. Will check again in 1000ms 11:19:22.247 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://BuyRaycon.com/Families & http://JoinHoney.com/Families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 4973, "filename" => "/downloads/H3 Podcast/2021-08-11 Addressing The Controversy - Families #8/Addressing The Controversy - Families #8 [SoZSaJHD8RM].mp4", "id" => "SoZSaJHD8RM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SoZSaJHD8RM", "playlist_index" => 150, "timestamp" => 1628709196, "title" => "Addressing The Controversy - Families #8", "upload_date" => "20210811"} 11:19:22.250 [debug] QUERY OK source="sources" db=1.5ms queue=0.5ms idle=1984.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:22.252 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1034.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:22.264 [debug] QUERY OK source="media_items" db=11.2ms queue=0.2ms idle=1029.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-11 19:13:16Z], 1] 11:19:22.273 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=33.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://BuyRaycon.com/Families & http://JoinHoney.com/Families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Addressing The Controversy - Families #8", "cb4134c0-4a3a-4a5a-8689-ac75a25741b3", 4973, false, "SoZSaJHD8RM", "https://www.youtube.com/watch?v=SoZSaJHD8RM", 150, "/downloads/H3 Podcast/2021-08-11 Addressing The Controversy - Families #8/Addressing The Controversy - Families #8 [SoZSaJHD8RM].mp4", false, false, false, 1, [], 99, ~U[2021-08-11 19:13:16Z], ~U[2026-04-11 23:19:22Z], ~U[2026-04-11 23:19:22Z], "Thank you to http://BuyRaycon.com/Families & http://JoinHoney.com/Families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Addressing The Controversy - Families #8", 4973, false, "SoZSaJHD8RM", "https://www.youtube.com/watch?v=SoZSaJHD8RM", "/downloads/H3 Podcast/2021-08-11 Addressing The Controversy - Families #8/Addressing The Controversy - Families #8 [SoZSaJHD8RM].mp4", false, 1, ~U[2021-08-11 19:13:16Z]] 11:19:22.275 [debug] QUERY OK source="sources" db=0.9ms queue=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:22.277 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=25.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:22.279 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=25.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 [150] 11:19:22.280 [debug] Current batch of media processed. Will check again in 1000ms 11:19:23.283 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 4704, "filename" => "/downloads/H3 Podcast/2021-08-11 (Members) Families #8/(Members) Families #8 [JKnQom_bh60].NA", "id" => "JKnQom_bh60", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JKnQom_bh60", "playlist_index" => 151, "timestamp" => 1628642504, "title" => "(Members) Families #8", "upload_date" => "20210811"} 11:19:23.287 [debug] QUERY OK source="sources" db=1.4ms queue=0.5ms idle=1010.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:23.289 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms idle=1011.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:23.296 [debug] QUERY OK source="media_items" db=5.5ms queue=0.1ms idle=1010.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-11 00:41:44Z], 1] 11:19:23.306 [debug] QUERY OK source="media_items" db=7.8ms queue=0.1ms idle=48.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Families #8", "dd063171-0a1a-4c6d-a543-07b8305bf5b4", 4704, false, "JKnQom_bh60", "https://www.youtube.com/watch?v=JKnQom_bh60", 151, "/downloads/H3 Podcast/2021-08-11 (Members) Families #8/(Members) Families #8 [JKnQom_bh60].NA", false, false, false, 1, [], 98, ~U[2021-08-11 00:41:44Z], ~U[2026-04-11 23:19:23Z], ~U[2026-04-11 23:19:23Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Families #8", 4704, false, "JKnQom_bh60", "https://www.youtube.com/watch?v=JKnQom_bh60", "/downloads/H3 Podcast/2021-08-11 (Members) Families #8/(Members) Families #8 [JKnQom_bh60].NA", false, 1, ~U[2021-08-11 00:41:44Z]] 11:19:23.309 [debug] QUERY OK source="sources" db=1.5ms queue=0.6ms idle=43.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:23.312 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.2ms idle=22.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:23.314 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=22.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 [151] 11:19:23.314 [debug] Current batch of media processed. Will check again in 1000ms 11:19:24.315 [debug] Current batch of media processed. Will check again in 1000ms 11:19:25.317 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Lyle for joining us on the show- you can watch Lyle at http://www.twitch.tv/lyleforever and follow him on Instagram http://Instagram.com/Lyle4ever\nCatch H3TV livestreams at... http://twitch.tv/h3h3productions\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 8868, "filename" => "/downloads/H3 Podcast/2021-08-10 Taking Calls With The Therapy Gecko- H3TV #5/Taking Calls With The Therapy Gecko- H3TV #5 [pcblUbd-YIU].mp4", "id" => "pcblUbd-YIU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pcblUbd-YIU", "playlist_index" => 152, "timestamp" => 1628554219, "title" => "Taking Calls With The Therapy Gecko- H3TV #5", "upload_date" => "20210810"} 11:19:25.322 [debug] QUERY OK source="sources" db=3.5ms queue=0.3ms idle=53.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:25.326 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=60.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:25.340 [debug] QUERY OK source="media_items" db=12.3ms queue=0.1ms idle=63.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-10 00:10:19Z], 1] 11:19:25.351 [debug] QUERY OK source="media_items" db=8.7ms queue=0.2ms idle=74.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Lyle for joining us on the show- you can watch Lyle at http://www.twitch.tv/lyleforever and follow him on Instagram http://Instagram.com/Lyle4ever\nCatch H3TV livestreams at... http://twitch.tv/h3h3productions\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Taking Calls With The Therapy Gecko- H3TV #5", "d6390c87-fedb-45d6-8594-9620d4a29a11", 8868, false, "pcblUbd-YIU", "https://www.youtube.com/watch?v=pcblUbd-YIU", 152, "/downloads/H3 Podcast/2021-08-10 Taking Calls With The Therapy Gecko- H3TV #5/Taking Calls With The Therapy Gecko- H3TV #5 [pcblUbd-YIU].mp4", false, false, false, 1, [], 99, ~U[2021-08-10 00:10:19Z], ~U[2026-04-11 23:19:25Z], ~U[2026-04-11 23:19:25Z], "Thank you to Lyle for joining us on the show- you can watch Lyle at http://www.twitch.tv/lyleforever and follow him on Instagram http://Instagram.com/Lyle4ever\nCatch H3TV livestreams at... http://twitch.tv/h3h3productions\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Taking Calls With The Therapy Gecko- H3TV #5", 8868, false, "pcblUbd-YIU", "https://www.youtube.com/watch?v=pcblUbd-YIU", "/downloads/H3 Podcast/2021-08-10 Taking Calls With The Therapy Gecko- H3TV #5/Taking Calls With The Therapy Gecko- H3TV #5 [pcblUbd-YIU].mp4", false, 1, ~U[2021-08-10 00:10:19Z]] 11:19:25.354 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=76.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:25.356 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.2ms idle=32.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:25.358 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=30.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 [152] 11:19:25.359 [debug] Current batch of media processed. Will check again in 1000ms 11:19:26.364 [debug] Current batch of media processed. Will check again in 1000ms 11:19:27.370 [debug] Current batch of media processed. Will check again in 1000ms 11:19:28.383 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Created by SoriSora: @sorisora8004 \nhttps://www.patreon.com/SoriSora\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 269, "filename" => "/downloads/H3 Podcast/2021-08-07 THE FOOT WAR - H3 Animated/THE FOOT WAR - H3 Animated [jbZ0qCm4t7s].mp4", "id" => "jbZ0qCm4t7s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jbZ0qCm4t7s", "playlist_index" => 153, "timestamp" => 1628364163, "title" => "THE FOOT WAR - H3 Animated", "upload_date" => "20210807"} 11:19:28.391 [debug] QUERY OK source="sources" db=3.1ms queue=1.0ms idle=1120.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:28.402 [debug] QUERY OK source="sources" db=3.3ms queue=0.8ms idle=1118.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:28.416 [debug] QUERY OK source="media_items" db=12.8ms queue=0.3ms idle=1116.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-07 19:22:43Z], 1] 11:19:28.428 [debug] QUERY OK source="media_items" db=9.0ms queue=0.2ms idle=123.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Created by SoriSora: @sorisora8004 \nhttps://www.patreon.com/SoriSora\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "THE FOOT WAR - H3 Animated", "be76ce7d-f28f-4f80-bead-d3e9d0c8a4d0", 269, false, "jbZ0qCm4t7s", "https://www.youtube.com/watch?v=jbZ0qCm4t7s", 153, "/downloads/H3 Podcast/2021-08-07 THE FOOT WAR - H3 Animated/THE FOOT WAR - H3 Animated [jbZ0qCm4t7s].mp4", false, false, false, 1, [], 99, ~U[2021-08-07 19:22:43Z], ~U[2026-04-11 23:19:28Z], ~U[2026-04-11 23:19:28Z], "Created by SoriSora: @sorisora8004 \nhttps://www.patreon.com/SoriSora\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "THE FOOT WAR - H3 Animated", 269, false, "jbZ0qCm4t7s", "https://www.youtube.com/watch?v=jbZ0qCm4t7s", "/downloads/H3 Podcast/2021-08-07 THE FOOT WAR - H3 Animated/THE FOOT WAR - H3 Animated [jbZ0qCm4t7s].mp4", false, 1, ~U[2021-08-07 19:22:43Z]] 11:19:28.431 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=123.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:28.434 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.2ms idle=41.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:28.436 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=33.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 [153] 11:19:28.437 [debug] Current batch of media processed. Will check again in 1000ms 11:19:29.443 [debug] Current batch of media processed. Will check again in 1000ms 11:19:30.450 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5593, "filename" => "/downloads/H3 Podcast/2021-08-05 I'm Ashamed To Admit This - Off The Rails #7/I'm Ashamed To Admit This - Off The Rails #7 [sNSuS4heiso].mp4", "id" => "sNSuS4heiso", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sNSuS4heiso", "playlist_index" => 154, "timestamp" => 1628190863, "title" => "I'm Ashamed To Admit This - Off The Rails #7", "upload_date" => "20210805"} 11:19:30.453 [debug] QUERY OK source="sources" db=1.6ms queue=0.2ms 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" IN (?)) [1] 11:19:30.455 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=186.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:30.468 [debug] QUERY OK source="media_items" db=12.6ms queue=0.1ms idle=187.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-05 19:14:23Z], 1] 11:19:30.517 [debug] QUERY OK source="media_items" db=46.7ms queue=0.1ms idle=159.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "I'm Ashamed To Admit This - Off The Rails #7", "78e4bbeb-81d0-44ea-a5ca-b592a101313a", 5593, false, "sNSuS4heiso", "https://www.youtube.com/watch?v=sNSuS4heiso", 154, "/downloads/H3 Podcast/2021-08-05 I'm Ashamed To Admit This - Off The Rails #7/I'm Ashamed To Admit This - Off The Rails #7 [sNSuS4heiso].mp4", false, false, false, 1, [], 99, ~U[2021-08-05 19:14:23Z], ~U[2026-04-11 23:19:30Z], ~U[2026-04-11 23:19:30Z], "Become a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "I'm Ashamed To Admit This - Off The Rails #7", 5593, false, "sNSuS4heiso", "https://www.youtube.com/watch?v=sNSuS4heiso", "/downloads/H3 Podcast/2021-08-05 I'm Ashamed To Admit This - Off The Rails #7/I'm Ashamed To Admit This - Off The Rails #7 [sNSuS4heiso].mp4", false, 1, ~U[2021-08-05 19:14:23Z]] 11:19:30.519 [debug] QUERY OK source="sources" db=0.8ms queue=0.3ms idle=197.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:30.522 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.1ms idle=67.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:30.524 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=67.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 [154] 11:19:30.524 [debug] Current batch of media processed. Will check again in 1000ms 11:19:31.531 [debug] Current batch of media processed. Will check again in 1000ms 11:19:32.538 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5993, "filename" => "/downloads/H3 Podcast/2021-08-04 (Members) Off The Rails # 7/(Members) Off The Rails # 7 [4beO2i0FDIU].NA", "id" => "4beO2i0FDIU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4beO2i0FDIU", "playlist_index" => 155, "timestamp" => 1628120280, "title" => "(Members) Off The Rails # 7", "upload_date" => "20210804"} 11:19:32.549 [debug] QUERY OK source="sources" db=1.1ms queue=3.6ms 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 (?)) [1] 11:19:32.554 [debug] QUERY OK source="sources" db=3.9ms queue=0.1ms idle=278.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:32.558 [debug] QUERY OK source="media_items" db=1.8ms queue=0.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[2021-08-04 23:38:00Z], 1] 11:19:32.585 [debug] QUERY OK source="media_items" db=23.6ms queue=0.1ms idle=233.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Off The Rails # 7", "309fcc9d-a56f-466e-8c9f-13a9d4fb4dc2", 5993, false, "4beO2i0FDIU", "https://www.youtube.com/watch?v=4beO2i0FDIU", 155, "/downloads/H3 Podcast/2021-08-04 (Members) Off The Rails # 7/(Members) Off The Rails # 7 [4beO2i0FDIU].NA", false, false, false, 1, [], 99, ~U[2021-08-04 23:38:00Z], ~U[2026-04-11 23:19:32Z], ~U[2026-04-11 23:19:32Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Off The Rails # 7", 5993, false, "4beO2i0FDIU", "https://www.youtube.com/watch?v=4beO2i0FDIU", "/downloads/H3 Podcast/2021-08-04 (Members) Off The Rails # 7/(Members) Off The Rails # 7 [4beO2i0FDIU].NA", false, 1, ~U[2021-08-04 23:38:00Z]] 11:19:32.589 [debug] QUERY OK source="sources" db=2.4ms queue=0.7ms idle=246.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:32.591 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.7ms idle=41.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:32.596 [debug] QUERY OK source="media_items" db=1.7ms queue=0.7ms idle=39.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 [155] 11:19:32.598 [debug] Current batch of media processed. Will check again in 1000ms 11:19:33.599 [debug] Current batch of media processed. Will check again in 1000ms 11:19:34.604 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://magicspoon.com/families (use code: FAMILIES) & http://Feals.com/families & http://MintMobile.com/Families & http://Upstart.com/families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5503, "filename" => "/downloads/H3 Podcast/2021-08-04 My Family Is Being Torn Apart - Families # 7/My Family Is Being Torn Apart - Families # 7 [IcHJNW2zxkM].mp4", "id" => "IcHJNW2zxkM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IcHJNW2zxkM", "playlist_index" => 156, "timestamp" => 1628102385, "title" => "My Family Is Being Torn Apart - Families # 7", "upload_date" => "20210804"} 11:19:34.607 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=331.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:34.611 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=335.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:34.626 [debug] QUERY OK source="media_items" db=13.0ms queue=1.1ms idle=337.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-04 18:39:45Z], 1] 11:19:34.638 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=279.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://magicspoon.com/families (use code: FAMILIES) & http://Feals.com/families & http://MintMobile.com/Families & http://Upstart.com/families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "My Family Is Being Torn Apart - Families # 7", "60f4a0c4-7de8-4e5d-87c0-d423093b76e1", 5503, false, "IcHJNW2zxkM", "https://www.youtube.com/watch?v=IcHJNW2zxkM", 156, "/downloads/H3 Podcast/2021-08-04 My Family Is Being Torn Apart - Families # 7/My Family Is Being Torn Apart - Families # 7 [IcHJNW2zxkM].mp4", false, false, false, 1, [], 98, ~U[2021-08-04 18:39:45Z], ~U[2026-04-11 23:19:34Z], ~U[2026-04-11 23:19:34Z], "Thank you to http://magicspoon.com/families (use code: FAMILIES) & http://Feals.com/families & http://MintMobile.com/Families & http://Upstart.com/families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "My Family Is Being Torn Apart - Families # 7", 5503, false, "IcHJNW2zxkM", "https://www.youtube.com/watch?v=IcHJNW2zxkM", "/downloads/H3 Podcast/2021-08-04 My Family Is Being Torn Apart - Families # 7/My Family Is Being Torn Apart - Families # 7 [IcHJNW2zxkM].mp4", false, 1, ~U[2021-08-04 18:39:45Z]] 11:19:34.640 [debug] QUERY OK source="sources" db=0.8ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:34.642 [info] {"source":"oban","duration":5712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:34.645 [debug] QUERY OK source="media_profiles" db=2.4ms queue=0.9ms idle=30.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:34.648 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=19.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [156] 11:19:34.648 [debug] Current batch of media processed. Will check again in 1000ms 11:19:35.653 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5023, "filename" => "/downloads/H3 Podcast/2021-08-04 (Members) My Family Is Being Torn Apart - Families # 7/(Members) My Family Is Being Torn Apart - Families # 7 [bSTKPgA-jqk].NA", "id" => "bSTKPgA-jqk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bSTKPgA-jqk", "playlist_index" => 157, "timestamp" => 1628044208, "title" => "(Members) My Family Is Being Torn Apart - Families # 7", "upload_date" => "20210804"} 11:19:35.655 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1012.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:35.659 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1011.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:35.662 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=1011.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-04 02:30:08Z], 1] 11:19:35.667 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=309.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) My Family Is Being Torn Apart - Families # 7", "bd0c6073-3c31-4d2c-aae6-97a6e1e2798e", 5023, false, "bSTKPgA-jqk", "https://www.youtube.com/watch?v=bSTKPgA-jqk", 157, "/downloads/H3 Podcast/2021-08-04 (Members) My Family Is Being Torn Apart - Families # 7/(Members) My Family Is Being Torn Apart - Families # 7 [bSTKPgA-jqk].NA", false, false, false, 1, [], 97, ~U[2021-08-04 02:30:08Z], ~U[2026-04-11 23:19:35Z], ~U[2026-04-11 23:19:35Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) My Family Is Being Torn Apart - Families # 7", 5023, false, "bSTKPgA-jqk", "https://www.youtube.com/watch?v=bSTKPgA-jqk", "/downloads/H3 Podcast/2021-08-04 (Members) My Family Is Being Torn Apart - Families # 7/(Members) My Family Is Being Torn Apart - Families # 7 [bSTKPgA-jqk].NA", false, 1, ~U[2021-08-04 02:30:08Z]] 11:19:35.669 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=306.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:35.670 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=14.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:35.673 [debug] QUERY OK source="media_items" db=1.3ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [157] 11:19:35.673 [debug] Current batch of media processed. Will check again in 1000ms 11:19:36.675 [debug] Current batch of media processed. Will check again in 1000ms 11:19:37.676 [debug] Current batch of media processed. Will check again in 1000ms 11:19:38.682 [debug] Current batch of media processed. Will check again in 1000ms 11:19:39.687 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Watch it live on... http://twitch.tv/h3h3productions\nTeddy Fresh forever... http://TeddyFresh.com", "duration" => 8066, "filename" => "/downloads/H3 Podcast/2021-08-02 David Dobrik Kicked Out Of Lollapalooza Party - H3TV # 4/David Dobrik Kicked Out Of Lollapalooza Party - H3TV # 4 [QhA1sdISvME].mp4", "id" => "QhA1sdISvME", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QhA1sdISvME", "playlist_index" => 158, "timestamp" => 1627947258, "title" => "David Dobrik Kicked Out Of Lollapalooza Party - H3TV # 4", "upload_date" => "20210802"} 11:19:39.690 [debug] QUERY OK source="sources" db=1.3ms queue=0.4ms idle=403.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:39.693 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=405.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:39.722 [debug] QUERY OK source="media_items" db=28.1ms queue=0.1ms idle=408.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-08-02 23:34:18Z], 1] 11:19:39.746 [debug] QUERY OK source="media_items" db=21.7ms queue=0.1ms idle=313.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch it live on... http://twitch.tv/h3h3productions\nTeddy Fresh forever... http://TeddyFresh.com", "David Dobrik Kicked Out Of Lollapalooza Party - H3TV # 4", "c553f801-717d-41cd-b87c-d9b1206ec18c", 8066, false, "QhA1sdISvME", "https://www.youtube.com/watch?v=QhA1sdISvME", 158, "/downloads/H3 Podcast/2021-08-02 David Dobrik Kicked Out Of Lollapalooza Party - H3TV # 4/David Dobrik Kicked Out Of Lollapalooza Party - H3TV # 4 [QhA1sdISvME].mp4", false, false, false, 1, [], 99, ~U[2021-08-02 23:34:18Z], ~U[2026-04-11 23:19:39Z], ~U[2026-04-11 23:19:39Z], "Watch it live on... http://twitch.tv/h3h3productions\nTeddy Fresh forever... http://TeddyFresh.com", "David Dobrik Kicked Out Of Lollapalooza Party - H3TV # 4", 8066, false, "QhA1sdISvME", "https://www.youtube.com/watch?v=QhA1sdISvME", "/downloads/H3 Podcast/2021-08-02 David Dobrik Kicked Out Of Lollapalooza Party - H3TV # 4/David Dobrik Kicked Out Of Lollapalooza Party - H3TV # 4 [QhA1sdISvME].mp4", false, 1, ~U[2021-08-02 23:34:18Z]] 11:19:39.748 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=326.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:39.751 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.2ms 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] 11:19:39.755 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=58.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 [158] 11:19:39.755 [debug] Current batch of media processed. Will check again in 1000ms 11:19:40.760 [debug] Current batch of media processed. Will check again in 1000ms 11:19:41.764 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "H3TV will be every Monday & Thursday from here on out, it is a very casual format and could include whatever we want - reactions to memes, video game play throughs - its basically our creative playground to experiment and have fun! It airs on http://twitch.tv/h3h3productions live and we will immediately post the VOD exclusively to YouTube. We hope you guys enjoy!", "duration" => 5724, "filename" => "/downloads/H3 Podcast/2021-07-31 QAnon Lunatics & Unusual Memes - H3TV #3/QAnon Lunatics & Unusual Memes - H3TV #3 [GArWVPo-86s].mp4", "id" => "GArWVPo-86s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GArWVPo-86s", "playlist_index" => 159, "timestamp" => 1627739317, "title" => "QAnon Lunatics & Unusual Memes - H3TV #3", "upload_date" => "20210731"} 11:19:41.773 [debug] QUERY OK source="sources" db=3.3ms queue=0.8ms idle=483.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:41.782 [debug] QUERY OK source="sources" db=3.6ms queue=0.8ms idle=492.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:41.807 [debug] QUERY OK source="media_items" db=21.3ms queue=0.5ms idle=499.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-31 13:48:37Z], 1] 11:19:41.819 [debug] QUERY OK source="media_items" db=9.6ms queue=0.2ms idle=234.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["H3TV will be every Monday & Thursday from here on out, it is a very casual format and could include whatever we want - reactions to memes, video game play throughs - its basically our creative playground to experiment and have fun! It airs on http://twitch.tv/h3h3productions live and we will immediately post the VOD exclusively to YouTube. We hope you guys enjoy!", "QAnon Lunatics & Unusual Memes - H3TV #3", "f231b304-7808-43f1-b247-019d0d788579", 5724, false, "GArWVPo-86s", "https://www.youtube.com/watch?v=GArWVPo-86s", 159, "/downloads/H3 Podcast/2021-07-31 QAnon Lunatics & Unusual Memes - H3TV #3/QAnon Lunatics & Unusual Memes - H3TV #3 [GArWVPo-86s].mp4", false, false, false, 1, [], 99, ~U[2021-07-31 13:48:37Z], ~U[2026-04-11 23:19:41Z], ~U[2026-04-11 23:19:41Z], "H3TV will be every Monday & Thursday from here on out, it is a very casual format and could include whatever we want - reactions to memes, video game play throughs - its basically our creative playground to experiment and have fun! It airs on http://twitch.tv/h3h3productions live and we will immediately post the VOD exclusively to YouTube. We hope you guys enjoy!", "QAnon Lunatics & Unusual Memes - H3TV #3", 5724, false, "GArWVPo-86s", "https://www.youtube.com/watch?v=GArWVPo-86s", "/downloads/H3 Podcast/2021-07-31 QAnon Lunatics & Unusual Memes - H3TV #3/QAnon Lunatics & Unusual Memes - H3TV #3 [GArWVPo-86s].mp4", false, 1, ~U[2021-07-31 13:48:37Z]] 11:19:41.822 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=235.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:41.823 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=50.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:41.827 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=42.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 [159] 11:19:41.827 [debug] Current batch of media processed. Will check again in 1000ms 11:19:42.828 [debug] Current batch of media processed. Will check again in 1000ms 11:19:43.831 [debug] Current batch of media processed. Will check again in 1000ms 11:19:44.836 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://creditkarma.com/winmoney & http://MintMobile.com/H3 & http://Upstart.com/H3 & http://Curology.com/H3 for sponsoring today's episode!\nSubscribe to the new H3TV channel here: https://www.youtube.com/channel/UCUNxEo56DqgAk4hPy40EyKw\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 7359, "filename" => "/downloads/H3 Podcast/2021-07-29 Saying Goodbye To YouTube - Off The Rails #6/Saying Goodbye To YouTube - Off The Rails #6 [sm39YIin0FU].mp4", "id" => "sm39YIin0FU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sm39YIin0FU", "playlist_index" => 160, "timestamp" => 1627587361, "title" => "Saying Goodbye To YouTube - Off The Rails #6", "upload_date" => "20210729"} 11:19:44.843 [debug] QUERY OK source="sources" db=2.9ms queue=0.6ms idle=1552.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:44.851 [debug] QUERY OK source="sources" db=2.1ms queue=0.3ms idle=1260.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:44.868 [debug] QUERY OK source="media_items" db=14.1ms queue=2.2ms idle=1255.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-29 19:36:01Z], 1] 11:19:44.880 [debug] QUERY OK source="media_items" db=9.5ms queue=0.1ms idle=265.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://creditkarma.com/winmoney & http://MintMobile.com/H3 & http://Upstart.com/H3 & http://Curology.com/H3 for sponsoring today's episode!\nSubscribe to the new H3TV channel here: https://www.youtube.com/channel/UCUNxEo56DqgAk4hPy40EyKw\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Saying Goodbye To YouTube - Off The Rails #6", "c815215d-36c2-49a2-b515-b87653881e79", 7359, false, "sm39YIin0FU", "https://www.youtube.com/watch?v=sm39YIin0FU", 160, "/downloads/H3 Podcast/2021-07-29 Saying Goodbye To YouTube - Off The Rails #6/Saying Goodbye To YouTube - Off The Rails #6 [sm39YIin0FU].mp4", false, false, false, 1, [], 99, ~U[2021-07-29 19:36:01Z], ~U[2026-04-11 23:19:44Z], ~U[2026-04-11 23:19:44Z], "Thank you to http://creditkarma.com/winmoney & http://MintMobile.com/H3 & http://Upstart.com/H3 & http://Curology.com/H3 for sponsoring today's episode!\nSubscribe to the new H3TV channel here: https://www.youtube.com/channel/UCUNxEo56DqgAk4hPy40EyKw\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Saying Goodbye To YouTube - Off The Rails #6", 7359, false, "sm39YIin0FU", "https://www.youtube.com/watch?v=sm39YIin0FU", "/downloads/H3 Podcast/2021-07-29 Saying Goodbye To YouTube - Off The Rails #6/Saying Goodbye To YouTube - Off The Rails #6 [sm39YIin0FU].mp4", false, 1, ~U[2021-07-29 19:36:01Z]] 11:19:44.883 [debug] QUERY OK source="sources" db=1.9ms queue=0.7ms idle=262.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:44.886 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.1ms idle=40.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:44.889 [debug] QUERY OK source="media_items" db=2.5ms idle=36.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 [160] 11:19:44.891 [debug] Current batch of media processed. Will check again in 1000ms 11:19:45.898 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Subscribe to the new H3TV channel here: https://www.youtube.com/channel/UCUNxEo56DqgAk4hPy40EyKw\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6934, "filename" => "/downloads/H3 Podcast/2021-07-29 (Members) Joe Rogan's Mommy Milkers & Popeyes Nugget Review - Off the Rails # 6/(Members) Joe Rogan's Mommy Milkers & Popeyes Nugget Review - Off the Rails # 6 [Ci8m15mMHFc].NA", "id" => "Ci8m15mMHFc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ci8m15mMHFc", "playlist_index" => 161, "timestamp" => 1627525140, "title" => "(Members) Joe Rogan's Mommy Milkers & Popeyes Nugget Review - Off the Rails # 6", "upload_date" => "20210729"} 11:19:45.908 [debug] QUERY OK source="sources" db=3.7ms queue=1.6ms idle=1018.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:45.919 [debug] QUERY OK source="sources" db=7.6ms queue=0.5ms idle=1024.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:45.923 [debug] QUERY OK source="media_items" db=3.1ms queue=0.2ms idle=1030.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-29 02:19:00Z], 1] 11:19:45.934 [debug] QUERY OK source="media_items" db=8.8ms queue=0.1ms idle=302.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe to the new H3TV channel here: https://www.youtube.com/channel/UCUNxEo56DqgAk4hPy40EyKw\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Joe Rogan's Mommy Milkers & Popeyes Nugget Review - Off the Rails # 6", "5e63e831-044e-457c-8d66-c87e292971bb", 6934, false, "Ci8m15mMHFc", "https://www.youtube.com/watch?v=Ci8m15mMHFc", 161, "/downloads/H3 Podcast/2021-07-29 (Members) Joe Rogan's Mommy Milkers & Popeyes Nugget Review - Off the Rails # 6/(Members) Joe Rogan's Mommy Milkers & Popeyes Nugget Review - Off the Rails # 6 [Ci8m15mMHFc].NA", false, false, false, 1, [], 98, ~U[2021-07-29 02:19:00Z], ~U[2026-04-11 23:19:45Z], ~U[2026-04-11 23:19:45Z], "Subscribe to the new H3TV channel here: https://www.youtube.com/channel/UCUNxEo56DqgAk4hPy40EyKw\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Joe Rogan's Mommy Milkers & Popeyes Nugget Review - Off the Rails # 6", 6934, false, "Ci8m15mMHFc", "https://www.youtube.com/watch?v=Ci8m15mMHFc", "/downloads/H3 Podcast/2021-07-29 (Members) Joe Rogan's Mommy Milkers & Popeyes Nugget Review - Off the Rails # 6/(Members) Joe Rogan's Mommy Milkers & Popeyes Nugget Review - Off the Rails # 6 [Ci8m15mMHFc].NA", false, 1, ~U[2021-07-29 02:19:00Z]] 11:19:45.937 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=297.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:45.939 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.9ms idle=29.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:45.942 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=21.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 [161] 11:19:45.942 [debug] Current batch of media processed. Will check again in 1000ms 11:19:46.944 [debug] Current batch of media processed. Will check again in 1000ms 11:19:47.945 [debug] Current batch of media processed. Will check again in 1000ms 11:19:48.950 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://Babbel.com (use code: Families) & http://HelloFresh.com/Families14 (use code: Families14) & http://JoinHoney.com/Families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6288, "filename" => "/downloads/H3 Podcast/2021-07-28 Omegle With My Mom 😬😳 - Families # 6/Omegle With My Mom 😬😳 - Families # 6 [sBknX8jMuGw].mp4", "id" => "sBknX8jMuGw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sBknX8jMuGw", "playlist_index" => 162, "timestamp" => 1627495469, "title" => "Omegle With My Mom 😬😳 - Families # 6", "upload_date" => "20210728"} 11:19:48.953 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=1651.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:48.958 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=1317.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:48.973 [debug] QUERY OK source="media_items" db=13.7ms queue=0.2ms idle=1311.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-28 18:04:29Z], 1] 11:19:48.984 [debug] QUERY OK source="media_items" db=8.3ms queue=1.0ms idle=329.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://Babbel.com (use code: Families) & http://HelloFresh.com/Families14 (use code: Families14) & http://JoinHoney.com/Families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Omegle With My Mom 😬😳 - Families # 6", "5fb5310c-5e09-4610-92a9-8bb4c686ac2b", 6288, false, "sBknX8jMuGw", "https://www.youtube.com/watch?v=sBknX8jMuGw", 162, "/downloads/H3 Podcast/2021-07-28 Omegle With My Mom 😬😳 - Families # 6/Omegle With My Mom 😬😳 - Families # 6 [sBknX8jMuGw].mp4", false, false, false, 1, [], 99, ~U[2021-07-28 18:04:29Z], ~U[2026-04-11 23:19:48Z], ~U[2026-04-11 23:19:48Z], "Thank you to http://Babbel.com (use code: Families) & http://HelloFresh.com/Families14 (use code: Families14) & http://JoinHoney.com/Families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Omegle With My Mom 😬😳 - Families # 6", 6288, false, "sBknX8jMuGw", "https://www.youtube.com/watch?v=sBknX8jMuGw", "/downloads/H3 Podcast/2021-07-28 Omegle With My Mom 😬😳 - Families # 6/Omegle With My Mom 😬😳 - Families # 6 [sBknX8jMuGw].mp4", false, 1, ~U[2021-07-28 18:04:29Z]] 11:19:48.988 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=331.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:48.991 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.2ms idle=36.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:48.996 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=35.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 [162] 11:19:48.998 [debug] Current batch of media processed. Will check again in 1000ms 11:19:50.000 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5878, "filename" => "/downloads/H3 Podcast/2021-07-28 (Members) Omegle With My Mom 😬😳 - Families # 6/(Members) Omegle With My Mom 😬😳 - Families # 6 [SJg5wBpJVbE].NA", "id" => "SJg5wBpJVbE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SJg5wBpJVbE", "playlist_index" => 163, "timestamp" => 1627437457, "title" => "(Members) Omegle With My Mom 😬😳 - Families # 6", "upload_date" => "20210728"} 11:19:50.004 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms idle=1013.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:50.007 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=1013.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:50.010 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=1011.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-28 01:57:37Z], 1] 11:19:50.018 [debug] QUERY OK source="media_items" db=6.1ms queue=0.1ms idle=344.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Omegle With My Mom 😬😳 - Families # 6", "645565e0-ab4c-4ea0-b7ae-974da7c82395", 5878, false, "SJg5wBpJVbE", "https://www.youtube.com/watch?v=SJg5wBpJVbE", 163, "/downloads/H3 Podcast/2021-07-28 (Members) Omegle With My Mom 😬😳 - Families # 6/(Members) Omegle With My Mom 😬😳 - Families # 6 [SJg5wBpJVbE].NA", false, false, false, 1, [], 98, ~U[2021-07-28 01:57:37Z], ~U[2026-04-11 23:19:50Z], ~U[2026-04-11 23:19:50Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Omegle With My Mom 😬😳 - Families # 6", 5878, false, "SJg5wBpJVbE", "https://www.youtube.com/watch?v=SJg5wBpJVbE", "/downloads/H3 Podcast/2021-07-28 (Members) Omegle With My Mom 😬😳 - Families # 6/(Members) Omegle With My Mom 😬😳 - Families # 6 [SJg5wBpJVbE].NA", false, 1, ~U[2021-07-28 01:57:37Z]] 11:19:50.022 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=344.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:50.025 [debug] QUERY OK source="media_profiles" db=2.2ms queue=0.1ms idle=18.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:50.029 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=18.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 [163] 11:19:50.030 [debug] Current batch of media processed. Will check again in 1000ms 11:19:51.032 [debug] Current batch of media processed. Will check again in 1000ms 11:19:52.040 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Watch H3TV live at http://twitch.tv/h3h3productions\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 955, "filename" => "/downloads/H3 Podcast/2021-07-22 David Dobrik Says He Did Nothing Wrong/David Dobrik Says He Did Nothing Wrong [tFJlLWlrOg0].mp4", "id" => "tFJlLWlrOg0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tFJlLWlrOg0", "playlist_index" => 164, "timestamp" => 1626992948, "title" => "David Dobrik Says He Did Nothing Wrong", "upload_date" => "20210722"} 11:19:52.043 [debug] QUERY OK source="sources" db=1.4ms queue=0.5ms idle=737.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:52.050 [debug] QUERY OK source="sources" db=3.8ms queue=0.3ms idle=742.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:52.067 [debug] QUERY OK source="media_items" db=15.7ms queue=0.4ms idle=747.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-22 22:29:08Z], 1] 11:19:52.076 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=386.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch H3TV live at http://twitch.tv/h3h3productions\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "David Dobrik Says He Did Nothing Wrong", "43a4cdf4-230d-4066-8e8f-16b918db6e3c", 955, false, "tFJlLWlrOg0", "https://www.youtube.com/watch?v=tFJlLWlrOg0", 164, "/downloads/H3 Podcast/2021-07-22 David Dobrik Says He Did Nothing Wrong/David Dobrik Says He Did Nothing Wrong [tFJlLWlrOg0].mp4", false, false, false, 1, [], 99, ~U[2021-07-22 22:29:08Z], ~U[2026-04-11 23:19:52Z], ~U[2026-04-11 23:19:52Z], "Watch H3TV live at http://twitch.tv/h3h3productions\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "David Dobrik Says He Did Nothing Wrong", 955, false, "tFJlLWlrOg0", "https://www.youtube.com/watch?v=tFJlLWlrOg0", "/downloads/H3 Podcast/2021-07-22 David Dobrik Says He Did Nothing Wrong/David Dobrik Says He Did Nothing Wrong [tFJlLWlrOg0].mp4", false, 1, ~U[2021-07-22 22:29:08Z]] 11:19:52.078 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=386.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:52.080 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.2ms idle=34.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:52.082 [debug] QUERY OK source="media_items" db=1.2ms idle=30.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 [164] 11:19:52.082 [debug] Current batch of media processed. Will check again in 1000ms 11:19:53.087 [debug] Current batch of media processed. Will check again in 1000ms 11:19:54.092 [debug] Current batch of media processed. Will check again in 1000ms 11:19:55.098 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://creditkarma.com/winmoney & http://stamps.com (use code: Families) & http://policygenius.com/FAMILIES & http://buyraycon.com/families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6835, "filename" => "/downloads/H3 Podcast/2021-07-21 James Charles IS GOING TO JAIL! says my mom - Families # 5/James Charles IS GOING TO JAIL! says my mom - Families # 5 [h-sbveUVSUc].mp4", "id" => "h-sbveUVSUc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=h-sbveUVSUc", "playlist_index" => 165, "timestamp" => 1626897214, "title" => "James Charles IS GOING TO JAIL! says my mom - Families # 5", "upload_date" => "20210721"} 11:19:55.104 [debug] QUERY OK source="sources" db=3.9ms queue=0.5ms idle=1793.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:55.110 [debug] QUERY OK source="sources" db=2.4ms queue=0.3ms idle=1405.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:55.122 [debug] QUERY OK source="media_items" db=10.9ms queue=0.4ms idle=1402.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-21 19:53:34Z], 1] 11:19:55.144 [debug] QUERY OK source="media_items" db=19.2ms queue=0.1ms idle=397.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://creditkarma.com/winmoney & http://stamps.com (use code: Families) & http://policygenius.com/FAMILIES & http://buyraycon.com/families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "James Charles IS GOING TO JAIL! says my mom - Families # 5", "267c5c8f-bb72-4b64-8d95-5abe141e3955", 6835, false, "h-sbveUVSUc", "https://www.youtube.com/watch?v=h-sbveUVSUc", 165, "/downloads/H3 Podcast/2021-07-21 James Charles IS GOING TO JAIL! says my mom - Families # 5/James Charles IS GOING TO JAIL! says my mom - Families # 5 [h-sbveUVSUc].mp4", false, false, false, 1, [], 99, ~U[2021-07-21 19:53:34Z], ~U[2026-04-11 23:19:55Z], ~U[2026-04-11 23:19:55Z], "Thank you to http://creditkarma.com/winmoney & http://stamps.com (use code: Families) & http://policygenius.com/FAMILIES & http://buyraycon.com/families for sponsoring us!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "James Charles IS GOING TO JAIL! says my mom - Families # 5", 6835, false, "h-sbveUVSUc", "https://www.youtube.com/watch?v=h-sbveUVSUc", "/downloads/H3 Podcast/2021-07-21 James Charles IS GOING TO JAIL! says my mom - Families # 5/James Charles IS GOING TO JAIL! says my mom - Families # 5 [h-sbveUVSUc].mp4", false, 1, ~U[2021-07-21 19:53:34Z]] 11:19:55.146 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=403.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:55.148 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=42.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:55.150 [debug] QUERY OK source="media_items" db=1.2ms idle=39.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 [165] 11:19:55.150 [debug] Current batch of media processed. Will check again in 1000ms 11:19:56.152 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6358, "filename" => "/downloads/H3 Podcast/2021-07-21 (Members) My Mom Ends James Charles Whole Career - Families # 5/(Members) My Mom Ends James Charles Whole Career - Families # 5 [u02WoWYu8bM].NA", "id" => "u02WoWYu8bM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u02WoWYu8bM", "playlist_index" => 166, "timestamp" => 1626829890, "title" => "(Members) My Mom Ends James Charles Whole Career - Families # 5", "upload_date" => "20210721"} 11:19:56.154 [debug] QUERY OK source="sources" db=0.7ms queue=0.3ms idle=1007.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:56.158 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=1007.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:56.176 [debug] QUERY OK source="media_items" db=15.8ms queue=0.5ms idle=1009.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-21 01:11:30Z], 1] 11:19:56.185 [debug] QUERY OK source="media_items" db=7.6ms queue=0.1ms idle=443.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) My Mom Ends James Charles Whole Career - Families # 5", "9de4777d-13de-4536-bcac-08ef8af4f513", 6358, false, "u02WoWYu8bM", "https://www.youtube.com/watch?v=u02WoWYu8bM", 166, "/downloads/H3 Podcast/2021-07-21 (Members) My Mom Ends James Charles Whole Career - Families # 5/(Members) My Mom Ends James Charles Whole Career - Families # 5 [u02WoWYu8bM].NA", false, false, false, 1, [], 98, ~U[2021-07-21 01:11:30Z], ~U[2026-04-11 23:19:56Z], ~U[2026-04-11 23:19:56Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) My Mom Ends James Charles Whole Career - Families # 5", 6358, false, "u02WoWYu8bM", "https://www.youtube.com/watch?v=u02WoWYu8bM", "/downloads/H3 Podcast/2021-07-21 (Members) My Mom Ends James Charles Whole Career - Families # 5/(Members) My Mom Ends James Charles Whole Career - Families # 5 [u02WoWYu8bM].NA", false, 1, ~U[2021-07-21 01:11:30Z]] 11:19:56.205 [debug] QUERY OK source="sources" db=19.1ms queue=0.2ms idle=444.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:56.207 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=51.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:56.209 [debug] QUERY OK source="media_items" db=1.7ms idle=50.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 [166] 11:19:56.210 [debug] Current batch of media processed. Will check again in 1000ms 11:19:57.210 [debug] Current batch of media processed. Will check again in 1000ms 11:19:58.211 [debug] Current batch of media processed. Will check again in 1000ms 11:19:59.213 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "watch live at http://twitch.tv/h3h3productions\nnew teddy fresh drop... http://teddyfresh.com", "duration" => 2936, "filename" => "/downloads/H3 Podcast/2021-07-20 Confronting Adin Ross On Twitch Gambling/Confronting Adin Ross On Twitch Gambling [OfQWtuj1EZs].mp4", "id" => "OfQWtuj1EZs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OfQWtuj1EZs", "playlist_index" => 167, "timestamp" => 1626825481, "title" => "Confronting Adin Ross On Twitch Gambling", "upload_date" => "20210720"} 11:19:59.216 [debug] QUERY OK source="sources" db=1.6ms queue=0.3ms idle=1906.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:19:59.219 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=1016.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:19:59.233 [debug] QUERY OK source="media_items" db=12.3ms queue=1.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[2021-07-20 23:58:01Z], 1] 11:19:59.244 [debug] QUERY OK source="media_items" db=8.4ms queue=0.1ms idle=24.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["watch live at http://twitch.tv/h3h3productions\nnew teddy fresh drop... http://teddyfresh.com", "Confronting Adin Ross On Twitch Gambling", "ee62bdd1-d0e0-4346-a250-8cbbfaa70deb", 2936, false, "OfQWtuj1EZs", "https://www.youtube.com/watch?v=OfQWtuj1EZs", 167, "/downloads/H3 Podcast/2021-07-20 Confronting Adin Ross On Twitch Gambling/Confronting Adin Ross On Twitch Gambling [OfQWtuj1EZs].mp4", false, false, false, 1, [], 99, ~U[2021-07-20 23:58:01Z], ~U[2026-04-11 23:19:59Z], ~U[2026-04-11 23:19:59Z], "watch live at http://twitch.tv/h3h3productions\nnew teddy fresh drop... http://teddyfresh.com", "Confronting Adin Ross On Twitch Gambling", 2936, false, "OfQWtuj1EZs", "https://www.youtube.com/watch?v=OfQWtuj1EZs", "/downloads/H3 Podcast/2021-07-20 Confronting Adin Ross On Twitch Gambling/Confronting Adin Ross On Twitch Gambling [OfQWtuj1EZs].mp4", false, 1, ~U[2021-07-20 23:58:01Z]] 11:19:59.246 [debug] QUERY OK source="sources" db=1.4ms queue=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" = ?) [1] 11:19:59.247 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.2ms idle=27.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:59.250 [debug] QUERY OK source="media_items" db=2.1ms idle=27.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 [167] 11:19:59.251 [debug] Current batch of media processed. Will check again in 1000ms 11:20:00.252 [debug] Current batch of media processed. Will check again in 1000ms 11:20:00.676 [info] {"source":"oban","duration":1296,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:20:01.253 [debug] Current batch of media processed. Will check again in 1000ms 11:20:02.255 [debug] Current batch of media processed. Will check again in 1000ms 11:20:03.257 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://ShadyRays.com (Use code: H50) & http://MeUndies.com/H3 & http://canva.me/h3 & http://creditkarma.com/winmoney & http://Stamps.com (use code: H3) \nThank you to @Coffeezilla for dropping by!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 4698, "filename" => "/downloads/H3 Podcast/2021-07-15 im sorry hila - Off The Rails # 5/im sorry hila - Off The Rails # 5 [xamEkP8HLdA].mp4", "id" => "xamEkP8HLdA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xamEkP8HLdA", "playlist_index" => 168, "timestamp" => 1626375856, "title" => "im sorry hila - Off The Rails # 5", "upload_date" => "20210715"} 11:20:03.262 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms idle=944.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:03.265 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=948.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:03.386 [debug] QUERY OK source="media_items" db=119.4ms queue=1.2ms idle=950.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-15 19:04:16Z], 1] 11:20:03.428 [debug] QUERY OK source="media_items" db=37.6ms queue=0.2ms idle=145.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://ShadyRays.com (Use code: H50) & http://MeUndies.com/H3 & http://canva.me/h3 & http://creditkarma.com/winmoney & http://Stamps.com (use code: H3) \nThank you to @Coffeezilla for dropping by!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "im sorry hila - Off The Rails # 5", "43f860d1-add3-4b16-84d8-c0fc10057f03", 4698, false, "xamEkP8HLdA", "https://www.youtube.com/watch?v=xamEkP8HLdA", 168, "/downloads/H3 Podcast/2021-07-15 im sorry hila - Off The Rails # 5/im sorry hila - Off The Rails # 5 [xamEkP8HLdA].mp4", false, false, false, 1, [], 99, ~U[2021-07-15 19:04:16Z], ~U[2026-04-11 23:20:03Z], ~U[2026-04-11 23:20:03Z], "Thank you to http://ShadyRays.com (Use code: H50) & http://MeUndies.com/H3 & http://canva.me/h3 & http://creditkarma.com/winmoney & http://Stamps.com (use code: H3) \nThank you to @Coffeezilla for dropping by!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "im sorry hila - Off The Rails # 5", 4698, false, "xamEkP8HLdA", "https://www.youtube.com/watch?v=xamEkP8HLdA", "/downloads/H3 Podcast/2021-07-15 im sorry hila - Off The Rails # 5/im sorry hila - Off The Rails # 5 [xamEkP8HLdA].mp4", false, 1, ~U[2021-07-15 19:04:16Z]] 11:20:03.434 [debug] QUERY OK source="sources" db=3.7ms queue=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" = ?) [1] 11:20:03.438 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.2ms 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] 11:20:03.444 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=174.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 [168] 11:20:03.444 [debug] Current batch of media processed. Will check again in 1000ms 11:20:04.447 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6144, "filename" => "/downloads/H3 Podcast/2021-07-15 (Members) Logan Paul's Huge Crypto Scam Exposed - Off The Rails # 5/(Members) Logan Paul's Huge Crypto Scam Exposed - Off The Rails # 5 [bnOXXswsMKU].NA", "id" => "bnOXXswsMKU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bnOXXswsMKU", "playlist_index" => 169, "timestamp" => 1626311173, "title" => "(Members) Logan Paul's Huge Crypto Scam Exposed - Off The Rails # 5", "upload_date" => "20210715"} 11:20:04.452 [debug] QUERY OK source="sources" db=2.4ms queue=0.7ms idle=1015.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:04.459 [debug] QUERY OK source="sources" db=3.1ms queue=0.8ms idle=1016.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:04.463 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=1015.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-15 01:06:13Z], 1] 11:20:04.470 [debug] QUERY OK source="media_items" db=5.6ms queue=0.1ms idle=205.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Logan Paul's Huge Crypto Scam Exposed - Off The Rails # 5", "4b8cb625-dc9a-4d44-9e33-85854c0088ba", 6144, false, "bnOXXswsMKU", "https://www.youtube.com/watch?v=bnOXXswsMKU", 169, "/downloads/H3 Podcast/2021-07-15 (Members) Logan Paul's Huge Crypto Scam Exposed - Off The Rails # 5/(Members) Logan Paul's Huge Crypto Scam Exposed - Off The Rails # 5 [bnOXXswsMKU].NA", false, false, false, 1, [], 98, ~U[2021-07-15 01:06:13Z], ~U[2026-04-11 23:20:04Z], ~U[2026-04-11 23:20:04Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Logan Paul's Huge Crypto Scam Exposed - Off The Rails # 5", 6144, false, "bnOXXswsMKU", "https://www.youtube.com/watch?v=bnOXXswsMKU", "/downloads/H3 Podcast/2021-07-15 (Members) Logan Paul's Huge Crypto Scam Exposed - Off The Rails # 5/(Members) Logan Paul's Huge Crypto Scam Exposed - Off The Rails # 5 [bnOXXswsMKU].NA", false, 1, ~U[2021-07-15 01:06:13Z]] 11:20:04.472 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=200.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:04.473 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=20.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:04.477 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=15.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 [169] 11:20:04.477 [debug] Current batch of media processed. Will check again in 1000ms 11:20:04.647 [info] {"source":"oban","duration":3461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:05.481 [debug] Current batch of media processed. Will check again in 1000ms 11:20:06.484 [debug] Current batch of media processed. Will check again in 1000ms 11:20:07.490 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://Curology.com/H3 & http://GetQuip.com/FAMILIES & http://MeUndies.com/FAMILIES & http://joinhoney.com/families for sponsoring this episode!\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6473, "filename" => "/downloads/H3 Podcast/2021-07-14 Mom's Embarrassing Story Destroyed My Soul - Families # 4/Mom's Embarrassing Story Destroyed My Soul - Families # 4 [OJo0Z90eWDE].mp4", "id" => "OJo0Z90eWDE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OJo0Z90eWDE", "playlist_index" => 170, "timestamp" => 1626288665, "title" => "Mom's Embarrassing Story Destroyed My Soul - Families # 4", "upload_date" => "20210714"} 11:20:07.499 [debug] QUERY OK source="sources" db=6.5ms queue=0.6ms idle=1172.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:07.505 [debug] QUERY OK source="sources" db=2.2ms queue=0.6ms idle=1182.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:07.519 [debug] QUERY OK source="media_items" db=12.2ms queue=0.1ms idle=1186.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-14 18:51:05Z], 1] 11:20:07.531 [debug] QUERY OK source="media_items" db=8.0ms queue=0.2ms idle=228.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://Curology.com/H3 & http://GetQuip.com/FAMILIES & http://MeUndies.com/FAMILIES & http://joinhoney.com/families for sponsoring this episode!\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Mom's Embarrassing Story Destroyed My Soul - Families # 4", "c36e599a-c88c-42ab-932c-63878aa26a1b", 6473, false, "OJo0Z90eWDE", "https://www.youtube.com/watch?v=OJo0Z90eWDE", 170, "/downloads/H3 Podcast/2021-07-14 Mom's Embarrassing Story Destroyed My Soul - Families # 4/Mom's Embarrassing Story Destroyed My Soul - Families # 4 [OJo0Z90eWDE].mp4", false, false, false, 1, [], 99, ~U[2021-07-14 18:51:05Z], ~U[2026-04-11 23:20:07Z], ~U[2026-04-11 23:20:07Z], "Thank you to http://Curology.com/H3 & http://GetQuip.com/FAMILIES & http://MeUndies.com/FAMILIES & http://joinhoney.com/families for sponsoring this episode!\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Mom's Embarrassing Story Destroyed My Soul - Families # 4", 6473, false, "OJo0Z90eWDE", "https://www.youtube.com/watch?v=OJo0Z90eWDE", "/downloads/H3 Podcast/2021-07-14 Mom's Embarrassing Story Destroyed My Soul - Families # 4/Mom's Embarrassing Story Destroyed My Soul - Families # 4 [OJo0Z90eWDE].mp4", false, 1, ~U[2021-07-14 18:51:05Z]] 11:20:07.534 [debug] QUERY OK source="sources" db=1.4ms queue=0.6ms idle=225.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:07.537 [debug] QUERY OK source="media_profiles" db=0.9ms queue=1.6ms idle=35.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:07.542 [debug] QUERY OK source="media_items" db=1.8ms queue=1.0ms idle=33.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 [170] 11:20:07.543 [debug] Current batch of media processed. Will check again in 1000ms 11:20:08.547 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5871, "filename" => "/downloads/H3 Podcast/2021-07-14 (MEMBERS) Mom's Embarrassing Story Destroyed My Soul - Families # 4/(MEMBERS) Mom's Embarrassing Story Destroyed My Soul - Families # 4 [jzjeAgyOgb0].NA", "id" => "jzjeAgyOgb0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jzjeAgyOgb0", "playlist_index" => 171, "timestamp" => 1626227801, "title" => "(MEMBERS) Mom's Embarrassing Story Destroyed My Soul - Families # 4", "upload_date" => "20210714"} 11:20:08.553 [debug] QUERY OK source="sources" db=3.3ms queue=0.3ms idle=1015.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:08.555 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1016.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:08.560 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=1013.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-14 01:56:41Z], 1] 11:20:08.570 [debug] QUERY OK source="media_items" db=7.7ms queue=0.1ms idle=244.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(MEMBERS) Mom's Embarrassing Story Destroyed My Soul - Families # 4", "17095b8d-641f-4d1c-a45c-8491c9d849ac", 5871, false, "jzjeAgyOgb0", "https://www.youtube.com/watch?v=jzjeAgyOgb0", 171, "/downloads/H3 Podcast/2021-07-14 (MEMBERS) Mom's Embarrassing Story Destroyed My Soul - Families # 4/(MEMBERS) Mom's Embarrassing Story Destroyed My Soul - Families # 4 [jzjeAgyOgb0].NA", false, false, false, 1, [], 98, ~U[2021-07-14 01:56:41Z], ~U[2026-04-11 23:20:08Z], ~U[2026-04-11 23:20:08Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(MEMBERS) Mom's Embarrassing Story Destroyed My Soul - Families # 4", 5871, false, "jzjeAgyOgb0", "https://www.youtube.com/watch?v=jzjeAgyOgb0", "/downloads/H3 Podcast/2021-07-14 (MEMBERS) Mom's Embarrassing Story Destroyed My Soul - Families # 4/(MEMBERS) Mom's Embarrassing Story Destroyed My Soul - Families # 4 [jzjeAgyOgb0].NA", false, 1, ~U[2021-07-14 01:56:41Z]] 11:20:08.575 [debug] QUERY OK source="sources" db=2.1ms queue=0.2ms idle=244.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:08.577 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.7ms idle=23.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:08.581 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=23.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 [171] 11:20:08.581 [debug] Current batch of media processed. Will check again in 1000ms 11:20:09.585 [debug] Current batch of media processed. Will check again in 1000ms 11:20:10.591 [debug] Current batch of media processed. Will check again in 1000ms 11:20:11.599 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://LiquidIV.com (use code: H3) for sponsoring today's episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5398, "filename" => "/downloads/H3 Podcast/2021-07-08 The Biggest Scam In YouTube History - Off The Rails # 4/The Biggest Scam In YouTube History - Off The Rails # 4 [iBXtS72EGcM].mp4", "id" => "iBXtS72EGcM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iBXtS72EGcM", "playlist_index" => 172, "timestamp" => 1625771127, "title" => "The Biggest Scam In YouTube History - Off The Rails # 4", "upload_date" => "20210708"} 11:20:11.606 [debug] QUERY OK source="sources" db=4.5ms queue=0.5ms idle=1274.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:11.611 [debug] QUERY OK source="sources" db=2.2ms queue=0.4ms idle=1274.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:11.652 [debug] QUERY OK source="media_items" db=38.8ms queue=1.1ms idle=1271.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-08 19:05:27Z], 1] 11:20:11.662 [debug] QUERY OK source="media_items" db=7.9ms queue=0.1ms idle=300.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://LiquidIV.com (use code: H3) for sponsoring today's episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Biggest Scam In YouTube History - Off The Rails # 4", "45d624e1-090b-469b-9e64-82cea7ccbc23", 5398, false, "iBXtS72EGcM", "https://www.youtube.com/watch?v=iBXtS72EGcM", 172, "/downloads/H3 Podcast/2021-07-08 The Biggest Scam In YouTube History - Off The Rails # 4/The Biggest Scam In YouTube History - Off The Rails # 4 [iBXtS72EGcM].mp4", false, false, false, 1, [], 99, ~U[2021-07-08 19:05:27Z], ~U[2026-04-11 23:20:11Z], ~U[2026-04-11 23:20:11Z], "Thank you to http://LiquidIV.com (use code: H3) for sponsoring today's episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Biggest Scam In YouTube History - Off The Rails # 4", 5398, false, "iBXtS72EGcM", "https://www.youtube.com/watch?v=iBXtS72EGcM", "/downloads/H3 Podcast/2021-07-08 The Biggest Scam In YouTube History - Off The Rails # 4/The Biggest Scam In YouTube History - Off The Rails # 4 [iBXtS72EGcM].mp4", false, 1, ~U[2021-07-08 19:05:27Z]] 11:20:11.664 [debug] QUERY OK source="sources" db=0.9ms queue=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" = ?) [1] 11:20:11.666 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=59.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:11.669 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=56.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 [172] 11:20:11.669 [debug] Current batch of media processed. Will check again in 1000ms 11:20:12.673 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6081, "filename" => "/downloads/H3 Podcast/2021-07-08 (Members) The Biggest Scam In YouTube History - Off The Rails # 4/(Members) The Biggest Scam In YouTube History - Off The Rails # 4 [QeQ-uIxP1y0].NA", "id" => "QeQ-uIxP1y0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QeQ-uIxP1y0", "playlist_index" => 173, "timestamp" => 1625705682, "title" => "(Members) The Biggest Scam In YouTube History - Off The Rails # 4", "upload_date" => "20210708"} 11:20:12.686 [debug] QUERY OK source="sources" db=9.4ms queue=0.8ms idle=1011.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:12.691 [debug] QUERY OK source="sources" db=1.4ms queue=0.6ms idle=1022.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:12.698 [debug] QUERY OK source="media_items" db=5.8ms queue=0.2ms idle=1023.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-08 00:54:42Z], 1] 11:20:12.706 [debug] QUERY OK source="media_items" db=5.9ms queue=0.2ms idle=326.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) The Biggest Scam In YouTube History - Off The Rails # 4", "db987fd3-6271-4917-8ae0-220dbf855089", 6081, false, "QeQ-uIxP1y0", "https://www.youtube.com/watch?v=QeQ-uIxP1y0", 173, "/downloads/H3 Podcast/2021-07-08 (Members) The Biggest Scam In YouTube History - Off The Rails # 4/(Members) The Biggest Scam In YouTube History - Off The Rails # 4 [QeQ-uIxP1y0].NA", false, false, false, 1, [], 98, ~U[2021-07-08 00:54:42Z], ~U[2026-04-11 23:20:12Z], ~U[2026-04-11 23:20:12Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) The Biggest Scam In YouTube History - Off The Rails # 4", 6081, false, "QeQ-uIxP1y0", "https://www.youtube.com/watch?v=QeQ-uIxP1y0", "/downloads/H3 Podcast/2021-07-08 (Members) The Biggest Scam In YouTube History - Off The Rails # 4/(Members) The Biggest Scam In YouTube History - Off The Rails # 4 [QeQ-uIxP1y0].NA", false, 1, ~U[2021-07-08 00:54:42Z]] 11:20:12.708 [debug] QUERY OK source="sources" db=1.2ms queue=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" = ?) [1] 11:20:12.710 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=23.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:12.713 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=19.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 [173] 11:20:12.713 [debug] Current batch of media processed. Will check again in 1000ms 11:20:13.717 [debug] Current batch of media processed. Will check again in 1000ms 11:20:14.722 [debug] Current batch of media processed. Will check again in 1000ms 11:20:15.726 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://creditkarma.com/winmoney & http://magicspoon.com/FAMILIES (Use code: Families) & http://mvmt.com/families & http://brightcellars.com/families for sponsoring the show!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5902, "filename" => "/downloads/H3 Podcast/2021-07-07 The Biggest Cancellation In YouTube History - Families # 3/The Biggest Cancellation In YouTube History - Families # 3 [L3XK1hC8KsM].mp4", "id" => "L3XK1hC8KsM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L3XK1hC8KsM", "playlist_index" => 174, "timestamp" => 1625684474, "title" => "The Biggest Cancellation In YouTube History - Families # 3", "upload_date" => "20210707"} 11:20:15.730 [debug] QUERY OK source="sources" db=1.8ms queue=0.3ms idle=1389.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:15.735 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=1345.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:15.755 [debug] QUERY OK source="media_items" db=16.4ms queue=1.8ms idle=1339.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-07 19:01:14Z], 1] 11:20:15.774 [debug] QUERY OK source="media_items" db=11.5ms queue=0.3ms idle=343.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://creditkarma.com/winmoney & http://magicspoon.com/FAMILIES (Use code: Families) & http://mvmt.com/families & http://brightcellars.com/families for sponsoring the show!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Biggest Cancellation In YouTube History - Families # 3", "3bf8385d-4c91-4f9c-a56d-6dd1195954db", 5902, false, "L3XK1hC8KsM", "https://www.youtube.com/watch?v=L3XK1hC8KsM", 174, "/downloads/H3 Podcast/2021-07-07 The Biggest Cancellation In YouTube History - Families # 3/The Biggest Cancellation In YouTube History - Families # 3 [L3XK1hC8KsM].mp4", false, false, false, 1, [], 99, ~U[2021-07-07 19:01:14Z], ~U[2026-04-11 23:20:15Z], ~U[2026-04-11 23:20:15Z], "Thank you to http://creditkarma.com/winmoney & http://magicspoon.com/FAMILIES (Use code: Families) & http://mvmt.com/families & http://brightcellars.com/families for sponsoring the show!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Biggest Cancellation In YouTube History - Families # 3", 5902, false, "L3XK1hC8KsM", "https://www.youtube.com/watch?v=L3XK1hC8KsM", "/downloads/H3 Podcast/2021-07-07 The Biggest Cancellation In YouTube History - Families # 3/The Biggest Cancellation In YouTube History - Families # 3 [L3XK1hC8KsM].mp4", false, 1, ~U[2021-07-07 19:01:14Z]] 11:20:15.781 [debug] QUERY OK source="sources" db=5.2ms queue=0.4ms idle=348.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:15.786 [debug] QUERY OK source="media_profiles" db=3.4ms queue=0.2ms idle=51.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:15.793 [debug] QUERY OK source="media_items" db=3.6ms queue=0.2ms idle=53.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 [174] 11:20:15.795 [debug] Current batch of media processed. Will check again in 1000ms 11:20:16.802 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5414, "filename" => "/downloads/H3 Podcast/2021-07-07 (Members) The Biggest Cancellation In YouTube History - Families # 3/(Members) The Biggest Cancellation In YouTube History - Families # 3 [9tWoQogSoVE].NA", "id" => "9tWoQogSoVE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9tWoQogSoVE", "playlist_index" => 175, "timestamp" => 1625620293, "title" => "(Members) The Biggest Cancellation In YouTube History - Families # 3", "upload_date" => "20210707"} 11:20:16.807 [debug] QUERY OK source="sources" db=2.4ms queue=0.6ms idle=1023.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:16.812 [debug] QUERY OK source="sources" db=1.8ms queue=1.4ms idle=1023.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:16.820 [debug] QUERY OK source="media_items" db=4.9ms queue=1.1ms idle=1019.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-07 01:11:33Z], 1] 11:20:16.833 [debug] QUERY OK source="media_items" db=9.9ms queue=0.2ms idle=388.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) The Biggest Cancellation In YouTube History - Families # 3", "ecc02291-e5c2-4c57-96c4-b4a2e21ac1ba", 5414, false, "9tWoQogSoVE", "https://www.youtube.com/watch?v=9tWoQogSoVE", 175, "/downloads/H3 Podcast/2021-07-07 (Members) The Biggest Cancellation In YouTube History - Families # 3/(Members) The Biggest Cancellation In YouTube History - Families # 3 [9tWoQogSoVE].NA", false, false, false, 1, [], 98, ~U[2021-07-07 01:11:33Z], ~U[2026-04-11 23:20:16Z], ~U[2026-04-11 23:20:16Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) The Biggest Cancellation In YouTube History - Families # 3", 5414, false, "9tWoQogSoVE", "https://www.youtube.com/watch?v=9tWoQogSoVE", "/downloads/H3 Podcast/2021-07-07 (Members) The Biggest Cancellation In YouTube History - Families # 3/(Members) The Biggest Cancellation In YouTube History - Families # 3 [9tWoQogSoVE].NA", false, 1, ~U[2021-07-07 01:11:33Z]] 11:20:16.837 [debug] QUERY OK source="sources" db=2.2ms queue=0.3ms idle=393.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:16.840 [debug] QUERY OK source="media_profiles" db=0.7ms queue=1.5ms idle=30.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:16.845 [debug] QUERY OK source="media_items" db=2.0ms queue=0.5ms idle=30.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 [175] 11:20:16.846 [debug] Current batch of media processed. Will check again in 1000ms 11:20:17.848 [debug] Current batch of media processed. Will check again in 1000ms 11:20:18.852 [debug] Current batch of media processed. Will check again in 1000ms 11:20:19.861 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://Kraken.com/H3 & http://Public.com/H3h3 & http://Upstart.com/H3 for sponsoring us!\nFire haircutters: \nJayR d'Angeles IG: @jrd_hairgod\nYana Tammah IG: @sstagioni\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6067, "filename" => "/downloads/H3 Podcast/2021-07-01 Trisha’s Apology & Ace Family Scam - Off The Rails # 3/Trisha’s Apology & Ace Family Scam - Off The Rails # 3 [6kNZujESbNI].mp4", "id" => "6kNZujESbNI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6kNZujESbNI", "playlist_index" => 176, "timestamp" => 1625176328, "title" => "Trisha’s Apology & Ace Family Scam - Off The Rails # 3", "upload_date" => "20210701"} 11:20:19.872 [debug] QUERY OK source="sources" db=4.8ms queue=1.1ms idle=1495.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:19.879 [debug] QUERY OK source="sources" db=4.0ms queue=0.4ms idle=1419.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:19.925 [debug] QUERY OK source="media_items" db=43.0ms queue=0.5ms idle=1417.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-01 21:52:08Z], 1] 11:20:19.946 [debug] QUERY OK source="media_items" db=19.2ms queue=0.1ms idle=456.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://Kraken.com/H3 & http://Public.com/H3h3 & http://Upstart.com/H3 for sponsoring us!\nFire haircutters: \nJayR d'Angeles IG: @jrd_hairgod\nYana Tammah IG: @sstagioni\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Trisha’s Apology & Ace Family Scam - Off The Rails # 3", "bd438d6a-9258-41cd-832d-df110b018ca0", 6067, false, "6kNZujESbNI", "https://www.youtube.com/watch?v=6kNZujESbNI", 176, "/downloads/H3 Podcast/2021-07-01 Trisha’s Apology & Ace Family Scam - Off The Rails # 3/Trisha’s Apology & Ace Family Scam - Off The Rails # 3 [6kNZujESbNI].mp4", false, false, false, 1, [], 99, ~U[2021-07-01 21:52:08Z], ~U[2026-04-11 23:20:19Z], ~U[2026-04-11 23:20:19Z], "Thank you to http://Kraken.com/H3 & http://Public.com/H3h3 & http://Upstart.com/H3 for sponsoring us!\nFire haircutters: \nJayR d'Angeles IG: @jrd_hairgod\nYana Tammah IG: @sstagioni\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Trisha’s Apology & Ace Family Scam - Off The Rails # 3", 6067, false, "6kNZujESbNI", "https://www.youtube.com/watch?v=6kNZujESbNI", "/downloads/H3 Podcast/2021-07-01 Trisha’s Apology & Ace Family Scam - Off The Rails # 3/Trisha’s Apology & Ace Family Scam - Off The Rails # 3 [6kNZujESbNI].mp4", false, 1, ~U[2021-07-01 21:52:08Z]] 11:20:19.948 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=467.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:19.950 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=77.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:19.952 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=71.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 [176] 11:20:19.952 [debug] Current batch of media processed. Will check again in 1000ms 11:20:20.962 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Fire haircutters: \nJayR d'Angeles IG: @jrd_hairgod\nYana Tammah IG: @sstagioni\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6183, "filename" => "/downloads/H3 Podcast/2021-07-01 (Members) Trisha’s Apology & Ace Family Scam - Off The Rails # 3/(Members) Trisha’s Apology & Ace Family Scam - Off The Rails # 3 [eybHxDUGiwM].NA", "id" => "eybHxDUGiwM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eybHxDUGiwM", "playlist_index" => 177, "timestamp" => 1625106487, "title" => "(Members) Trisha’s Apology & Ace Family Scam - Off The Rails # 3", "upload_date" => "20210701"} 11:20:20.971 [debug] QUERY OK source="sources" db=2.8ms queue=1.5ms idle=1017.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:20.974 [debug] QUERY OK source="sources" db=1.0ms queue=0.3ms idle=1022.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:20.979 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=1022.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-07-01 02:28:07Z], 1] 11:20:21.008 [debug] QUERY OK source="media_items" db=26.9ms queue=0.2ms idle=498.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Fire haircutters: \nJayR d'Angeles IG: @jrd_hairgod\nYana Tammah IG: @sstagioni\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Trisha’s Apology & Ace Family Scam - Off The Rails # 3", "7c432bf1-da99-43d7-8776-d618185d5b7a", 6183, false, "eybHxDUGiwM", "https://www.youtube.com/watch?v=eybHxDUGiwM", 177, "/downloads/H3 Podcast/2021-07-01 (Members) Trisha’s Apology & Ace Family Scam - Off The Rails # 3/(Members) Trisha’s Apology & Ace Family Scam - Off The Rails # 3 [eybHxDUGiwM].NA", false, false, false, 1, [], 98, ~U[2021-07-01 02:28:07Z], ~U[2026-04-11 23:20:20Z], ~U[2026-04-11 23:20:20Z], "Fire haircutters: \nJayR d'Angeles IG: @jrd_hairgod\nYana Tammah IG: @sstagioni\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Trisha’s Apology & Ace Family Scam - Off The Rails # 3", 6183, false, "eybHxDUGiwM", "https://www.youtube.com/watch?v=eybHxDUGiwM", "/downloads/H3 Podcast/2021-07-01 (Members) Trisha’s Apology & Ace Family Scam - Off The Rails # 3/(Members) Trisha’s Apology & Ace Family Scam - Off The Rails # 3 [eybHxDUGiwM].NA", false, 1, ~U[2021-07-01 02:28:07Z]] 11:20:21.011 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=517.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:21.013 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.2ms idle=41.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:21.017 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=40.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 [177] 11:20:21.017 [debug] Current batch of media processed. Will check again in 1000ms 11:20:22.019 [debug] Current batch of media processed. Will check again in 1000ms 11:20:23.022 [debug] Current batch of media processed. Will check again in 1000ms 11:20:24.025 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://creditkarma.com/winmoney & http://JoinHoney.com/Families for sponsoring today's episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6200, "filename" => "/downloads/H3 Podcast/2021-06-30 Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2/Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2 [_SdeGi-8rZ8].mp4", "id" => "_SdeGi-8rZ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_SdeGi-8rZ8", "playlist_index" => 178, "timestamp" => 1625087243, "title" => "Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2", "upload_date" => "20210630"} 11:20:24.029 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=1647.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:24.033 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=1530.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:24.048 [debug] QUERY OK source="media_items" db=13.9ms queue=0.3ms idle=1526.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-06-30 21:07:23Z], 1] 11:20:24.063 [debug] QUERY OK source="media_items" db=12.0ms queue=0.1ms idle=530.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://creditkarma.com/winmoney & http://JoinHoney.com/Families for sponsoring today's episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2", "996c3e98-ecc5-4e6e-8f84-c8ab6ad97fd9", 6200, false, "_SdeGi-8rZ8", "https://www.youtube.com/watch?v=_SdeGi-8rZ8", 178, "/downloads/H3 Podcast/2021-06-30 Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2/Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2 [_SdeGi-8rZ8].mp4", false, false, false, 1, [], 99, ~U[2021-06-30 21:07:23Z], ~U[2026-04-11 23:20:24Z], ~U[2026-04-11 23:20:24Z], "Thank you to http://creditkarma.com/winmoney & http://JoinHoney.com/Families for sponsoring today's episode!\nBecome a member for access to the episodes a day early with no ads and no cuts: http://youtube.com/h3podcast/join\n\nTEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2", 6200, false, "_SdeGi-8rZ8", "https://www.youtube.com/watch?v=_SdeGi-8rZ8", "/downloads/H3 Podcast/2021-06-30 Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2/Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2 [_SdeGi-8rZ8].mp4", false, 1, ~U[2021-06-30 21:07:23Z]] 11:20:24.067 [debug] QUERY OK source="sources" db=3.0ms queue=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:24.073 [debug] QUERY OK source="media_profiles" db=4.1ms queue=0.2ms idle=39.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:24.076 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=41.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 [178] 11:20:24.076 [debug] Current batch of media processed. Will check again in 1000ms 11:20:25.079 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 5836, "filename" => "/downloads/H3 Podcast/2021-06-30 (Members) Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2/(Members) Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2 [edo7-3HOVI8].NA", "id" => "edo7-3HOVI8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=edo7-3HOVI8", "playlist_index" => 179, "timestamp" => 1625011262, "title" => "(Members) Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2", "upload_date" => "20210630"} 11:20:25.084 [debug] QUERY OK source="sources" db=2.2ms queue=0.3ms idle=1014.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:20:25.088 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms idle=1013.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:25.092 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=1012.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-06-30 00:01:02Z], 1] 11:20:25.121 [debug] QUERY OK source="media_items" db=25.3ms queue=0.1ms idle=567.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2", "4fc628f3-3548-45d2-a59f-6bbff7dc2797", 5836, false, "edo7-3HOVI8", "https://www.youtube.com/watch?v=edo7-3HOVI8", 179, "/downloads/H3 Podcast/2021-06-30 (Members) Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2/(Members) Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2 [edo7-3HOVI8].NA", false, false, false, 1, [], 98, ~U[2021-06-30 00:01:02Z], ~U[2026-04-11 23:20:25Z], ~U[2026-04-11 23:20:25Z], "TEDDY FRESH...http://teddyfresh.com\nH3 MERCH... http://h3h3shop.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "(Members) Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2", 5836, false, "edo7-3HOVI8", "https://www.youtube.com/watch?v=edo7-3HOVI8", "/downloads/H3 Podcast/2021-06-30 (Members) Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2/(Members) Trisha Paytas vs Gabbie Hanna Explained By My Mom - Families # 2 [edo7-3HOVI8].NA", false, 1, ~U[2021-06-30 00:01:02Z]] 11:20:25.127 [debug] QUERY OK source="sources" db=3.5ms queue=1.7ms idle=587.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:25.134 [debug] QUERY OK source="media_profiles" db=5.1ms queue=0.2ms idle=44.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:25.139 [debug] QUERY OK source="media_items" db=4.1ms queue=0.2ms idle=46.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 [179] 11:20:25.145 [debug] Current batch of media processed. Will check again in 1000ms 11:20:26.147 [debug] Current batch of media processed. Will check again in 1000ms 11:20:40.956 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:20:40.958 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:20:40.958 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:20:40.958 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:20:40.958 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:20:40.996 [debug] QUERY OK source="oban_jobs" db=9.3ms decode=0.2ms queue=97.9ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:20:40.997 [info] Reset 1 executing jobs 11:20:41.002 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:20:43.993 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:20:43.994 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:20:44.756 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:20:44.765 [debug] QUERY OK source="settings" db=2.1ms queue=1.6ms idle=1900.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:44.770 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1908.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:44.772 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:20:44.812 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:20:44.854 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:20:44.861 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:20:44.906 [info] {"args":{},"id":8,"meta":{},"system_time":1775949644904922785,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:20:44.908 [info] Updating yt-dlp 11:20:44.908 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:20:45.856 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949645855690108,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:20:45.867 [debug] QUERY OK source="sources" db=2.6ms queue=2.7ms idle=985.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:45.874 [debug] QUERY OK source="settings" db=1.5ms queue=0.2ms idle=970.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:46.003 [debug] QUERY OK source="media_items" db=117.2ms queue=4.8ms idle=44.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")))) [1] 11:20:46.012 [debug] QUERY OK source="media_items" db=3.8ms queue=3.4ms idle=152.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:20:46.020 [debug] QUERY OK source="media_profiles" db=1.6ms queue=2.2ms idle=161.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:46.033 [debug] QUERY OK source="settings" db=1.0ms queue=0.5ms idle=164.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:46.035 [debug] QUERY OK source="settings" db=1.0ms queue=0.7ms idle=159.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:46.045 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:20:46.050 [debug] Current batch of media processed. Will check again in 1000ms 11:20:46.052 [debug] QUERY OK source="settings" db=6.4ms queue=0.2ms idle=42.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:46.056 [debug] QUERY OK source="settings" db=1.5ms queue=1.7ms idle=40.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:46.059 [debug] QUERY OK source="settings" db=2.5ms queue=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 [] 11:20:46.062 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/cd/9f/cd9f9dadad927627d8a066e121091d0428d0adf90caefa856f3c7c1ab36b9651.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:20:47.054 [debug] Current batch of media processed. Will check again in 1000ms 11:20:48.056 [debug] Current batch of media processed. Will check again in 1000ms 11:20:49.057 [debug] Current batch of media processed. Will check again in 1000ms 11:20:49.515 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:20:49.517 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:20:50.058 [debug] Current batch of media processed. Will check again in 1000ms 11:20:50.430 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "PSlnPnwWKkkeYDRsMwg5JxM5UgBmWxUNL_2OHnP8KVqUUyrpTTeV15SU", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:20:50.490 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:20:50.508 [debug] QUERY OK source="media_items" db=4.8ms queue=9.4ms idle=623.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:20:50.533 [debug] QUERY OK source="media_items" db=22.2ms queue=1.1ms idle=639.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:20:50.534 [debug] Replied in 46ms 11:20:50.560 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:20:50.566 [debug] QUERY OK source="media_items" db=2.0ms queue=2.5ms idle=690.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:20:50.576 [debug] QUERY OK source="media_items" db=3.2ms queue=5.2ms idle=642.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:20:50.576 [debug] Replied in 16ms 11:20:50.580 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:20:50.612 [debug] QUERY OK source="tasks" db=27.3ms idle=651.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:20:50.619 [debug] QUERY OK source="sources" db=0.6ms queue=0.8ms idle=109.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:50.620 [debug] Replied in 39ms 11:20:50.649 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:20:50.649 [debug] Replied in 696µs 11:20:50.674 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:20:50.675 [debug] Replied in 3ms 11:20:51.060 [debug] Current batch of media processed. Will check again in 1000ms 11:20:52.063 [debug] Current batch of media processed. Will check again in 1000ms 11:20:52.744 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:20:52.749 [debug] QUERY OK source="settings" db=4.7ms queue=0.3ms idle=873.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:52.764 [info] {"args":{},"id":8,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":7845704,"event":"job:stop","attempt":1,"queue_time":886150,"tags":["local_data"]} 11:20:52.770 [debug] QUERY OK source="tasks" db=4.1ms queue=0.3ms idle=894.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:20:52.776 [debug] QUERY OK source="sources" db=4.9ms queue=0.1ms idle=829.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:53.065 [debug] Current batch of media processed. Will check again in 1000ms 11:20:54.067 [debug] Current batch of media processed. Will check again in 1000ms 11:20:55.072 [debug] Current batch of media processed. Will check again in 1000ms 11:20:56.076 [debug] Current batch of media processed. Will check again in 1000ms 11:20:57.078 [debug] Current batch of media processed. Will check again in 1000ms 11:20:58.081 [debug] Current batch of media processed. Will check again in 1000ms 11:20:59.082 [debug] Current batch of media processed. Will check again in 1000ms 11:21:00.084 [debug] Current batch of media processed. Will check again in 1000ms 11:21:00.821 [info] {"source":"oban","duration":4822,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:21:01.089 [debug] Current batch of media processed. Will check again in 1000ms 11:21:02.091 [debug] Current batch of media processed. Will check again in 1000ms 11:21:03.092 [debug] Current batch of media processed. Will check again in 1000ms 11:21:04.095 [debug] Current batch of media processed. Will check again in 1000ms 11:21:05.096 [debug] Current batch of media processed. Will check again in 1000ms 11:21:06.101 [debug] Current batch of media processed. Will check again in 1000ms 11:21:07.104 [debug] Current batch of media processed. Will check again in 1000ms 11:21:08.110 [debug] Current batch of media processed. Will check again in 1000ms 11:21:09.115 [debug] Current batch of media processed. Will check again in 1000ms 11:21:10.116 [debug] Current batch of media processed. Will check again in 1000ms 11:21:11.117 [debug] Current batch of media processed. Will check again in 1000ms 11:21:12.120 [debug] Current batch of media processed. Will check again in 1000ms 11:21:13.133 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:21:13.137 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=1105.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:21:13.142 [debug] QUERY OK source="sources" db=2.3ms queue=0.2ms idle=1109.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:21:13.178 [debug] QUERY OK source="media_items" db=31.7ms queue=2.5ms idle=1007.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 23:31:06Z], 1] 11:21:13.218 [debug] QUERY OK source="media_items" db=34.8ms queue=0.1ms idle=45.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "c11f01c7-f98c-4aa9-b464-c4e71d1b00b1", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:21:13Z], ~U[2026-04-11 23:21:13Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:21:13.220 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=76.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:21:13.222 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.2ms idle=76.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:21:13.226 [debug] QUERY OK source="media_items" db=0.8ms queue=1.1ms idle=71.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 [1] 11:21:13.226 [debug] Current batch of media processed. Will check again in 1000ms 11:21:14.227 [debug] Current batch of media processed. Will check again in 1000ms 11:21:14.826 [info] {"source":"oban","duration":8915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:15.228 [debug] Current batch of media processed. Will check again in 1000ms 11:21:16.232 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:21:16.235 [debug] QUERY OK source="sources" db=1.3ms idle=1072.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:21:16.239 [debug] QUERY OK source="sources" db=0.8ms idle=1068.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:21:16.255 [debug] QUERY OK source="media_items" db=14.8ms idle=201.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-27 18:01:18Z], 1] 11:21:16.318 [debug] QUERY OK source="media_items" db=61.3ms queue=0.1ms idle=78.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "b202eddc-0ec5-4fd5-b530-82a207308e26", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, false, 1, [], 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:21:16Z], ~U[2026-04-11 23:21:16Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:21:16.327 [debug] QUERY OK source="sources" db=7.4ms queue=0.3ms 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" = ?) [1] 11:21:16.347 [debug] QUERY OK source="media_profiles" db=15.9ms queue=0.2ms idle=95.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:21:16.371 [debug] QUERY OK source="media_items" db=19.2ms queue=0.4ms idle=112.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 [2] 11:21:16.375 [debug] Current batch of media processed. Will check again in 1000ms 11:21:17.377 [debug] Current batch of media processed. Will check again in 1000ms 11:21:33.252 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:21:33.253 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:21:33.253 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:21:33.253 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:21:33.253 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:21:33.304 [debug] QUERY OK source="oban_jobs" db=11.2ms decode=1.2ms queue=195.2ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:21:33.308 [info] Reset 1 executing jobs 11:21:33.312 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:21:37.006 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:21:37.007 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:21:37.765 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:21:37.773 [debug] QUERY OK source="settings" db=2.0ms queue=1.2ms idle=698.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:37.778 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=705.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:37.780 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:21:37.825 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:21:37.869 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:21:37.875 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:21:37.922 [info] {"args":{},"id":9,"meta":{},"system_time":1775949697919843239,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:21:37.923 [info] Updating yt-dlp 11:21:37.924 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:21:38.844 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949698843102064,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:21:38.852 [debug] QUERY OK source="sources" db=3.0ms queue=3.3ms idle=954.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:21:38.858 [debug] QUERY OK source="settings" db=1.5ms queue=0.2ms idle=939.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:38.891 [debug] QUERY OK source="media_items" db=19.8ms queue=5.7ms idle=34.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")))) [1] 11:21:38.896 [debug] QUERY OK source="media_items" db=1.8ms queue=2.0ms idle=49.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:21:38.902 [debug] QUERY OK source="media_profiles" db=1.3ms queue=1.5ms idle=49.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:21:38.912 [debug] QUERY OK source="settings" db=1.3ms queue=1.3ms idle=57.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:38.914 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=55.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:38.923 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:21:38.927 [debug] QUERY OK source="settings" db=2.7ms decode=0.8ms queue=0.1ms idle=32.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:38.928 [debug] Current batch of media processed. Will check again in 1000ms 11:21:38.931 [debug] QUERY OK source="settings" db=2.9ms queue=0.2ms 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 [] 11:21:38.933 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=28.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:38.935 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/73/b6/73b6728be603b2fb7e24937a0e046c720d93e0c88c0d0a4ad5ec33e99eb2a28d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:21:39.929 [debug] Current batch of media processed. Will check again in 1000ms 11:21:40.931 [debug] Current batch of media processed. Will check again in 1000ms 11:21:41.485 [info] CONNECTED TO Phoenix.LiveView.Socket in 2ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "PSlnPnwWKkkeYDRsMwg5JxM5UgBmWxUNL_2OHnP8KVqUUyrpTTeV15SU", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "1", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:21:41.531 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:21:41.545 [debug] QUERY OK source="media_items" db=7.4ms queue=1.5ms idle=1463.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:21:41.565 [debug] QUERY OK source="media_items" db=11.5ms queue=1.5ms idle=1479.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:21:41.567 [debug] Replied in 36ms 11:21:41.580 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:21:41.593 [debug] QUERY OK source="media_items" db=4.6ms queue=2.9ms idle=1512.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:21:41.604 [debug] QUERY OK source="media_items" db=8.1ms queue=2.0ms idle=737.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:21:41.605 [debug] Replied in 24ms 11:21:41.611 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:21:41.631 [debug] QUERY OK source="tasks" db=11.8ms queue=0.1ms idle=751.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:21:41.638 [debug] QUERY OK source="sources" db=1.5ms queue=0.8ms 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" = ?) [1] 11:21:41.639 [debug] Replied in 27ms 11:21:41.657 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:21:41.657 [debug] Replied in 406µs 11:21:41.677 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:21:41.679 [debug] Replied in 2ms 11:21:41.932 [debug] Current batch of media processed. Will check again in 1000ms 11:21:41.941 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:21:41.942 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:21:42.933 [debug] Current batch of media processed. Will check again in 1000ms 11:21:43.663 [info] GET / 11:21:43.665 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:21:43.672 [debug] QUERY OK source="settings" db=2.5ms queue=0.6ms idle=789.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:43.675 [debug] QUERY OK source="media_profiles" db=1.5ms queue=1.4ms idle=781.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:21:43.679 [debug] QUERY OK source="sources" db=1.5ms queue=1.7ms idle=602.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:21:43.682 [debug] QUERY OK source="media_items" db=0.6ms queue=1.4ms idle=606.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:21:43.686 [debug] QUERY OK source="media_items" db=3.2ms queue=0.4ms idle=609.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:21:43.692 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=18.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:43.694 [debug] QUERY OK source="settings" db=1.6ms idle=17.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:43.703 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=20.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:43.719 [debug] QUERY OK source="tasks" db=1.9ms idle=35.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:21:43.721 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=33.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:21:43.730 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=37.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:21:43.742 [debug] QUERY OK source="media_items" db=11.3ms queue=0.1ms idle=36.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:21:43.747 [debug] QUERY OK source="media_items" db=2.2ms queue=0.2ms idle=42.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:21:43.752 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=28.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:21:43.760 [info] Sent 200 in 97ms 11:21:43.934 [debug] Current batch of media processed. Will check again in 1000ms 11:21:44.203 [info] CONNECTED TO Phoenix.LiveView.Socket in 216µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:21:44.213 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:21:44.216 [debug] QUERY OK source="media_items" db=1.2ms queue=1.0ms idle=471.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:21:44.220 [debug] QUERY OK source="media_items" db=2.0ms queue=0.5ms idle=470.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:21:44.220 [debug] Replied in 7ms 11:21:44.224 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:21:44.226 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=472.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:21:44.229 [debug] QUERY OK source="media_items" db=3.0ms idle=341.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:21:44.230 [debug] Replied in 5ms 11:21:44.236 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:21:44.239 [debug] QUERY OK source="tasks" db=2.3ms idle=343.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:21:44.241 [debug] QUERY OK source="sources" db=0.9ms queue=0.7ms idle=23.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:21:44.242 [debug] Replied in 6ms 11:21:44.247 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:21:44.247 [debug] Replied in 210µs 11:21:44.834 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:21:44.839 [debug] QUERY OK source="settings" db=2.0ms queue=2.0ms idle=614.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:44.847 [info] {"args":{},"id":9,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6920516,"event":"job:stop","queue_time":899950,"attempt":1,"tags":["local_data"]} 11:21:44.852 [debug] QUERY OK source="tasks" db=3.1ms idle=619.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:21:44.858 [debug] QUERY OK source="sources" db=2.6ms queue=2.3ms idle=613.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:21:44.936 [debug] Current batch of media processed. Will check again in 1000ms 11:21:45.937 [debug] Current batch of media processed. Will check again in 1000ms 11:21:46.938 [debug] Current batch of media processed. Will check again in 1000ms 11:21:47.941 [debug] Current batch of media processed. Will check again in 1000ms 11:21:48.943 [debug] Current batch of media processed. Will check again in 1000ms 11:21:49.944 [debug] Current batch of media processed. Will check again in 1000ms 11:21:50.945 [debug] Current batch of media processed. Will check again in 1000ms 11:21:51.947 [debug] Current batch of media processed. Will check again in 1000ms 11:21:52.950 [debug] Current batch of media processed. Will check again in 1000ms 11:21:53.956 [debug] Current batch of media processed. Will check again in 1000ms 11:21:54.960 [debug] Current batch of media processed. Will check again in 1000ms 11:21:55.962 [debug] Current batch of media processed. Will check again in 1000ms 11:21:56.968 [debug] Current batch of media processed. Will check again in 1000ms 11:21:57.970 [debug] Current batch of media processed. Will check again in 1000ms 11:21:58.973 [debug] Current batch of media processed. Will check again in 1000ms 11:21:59.975 [debug] Current batch of media processed. Will check again in 1000ms 11:22:00.818 [info] {"source":"oban","duration":3455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:22:00.977 [debug] Current batch of media processed. Will check again in 1000ms 11:22:13.131 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:13.134 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:13.132 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:13.134 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:13.134 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:13.176 [debug] QUERY OK source="oban_jobs" db=18.7ms decode=0.2ms queue=88.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:22:13.176 [info] Reset 1 executing jobs 11:22:13.179 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:22:15.961 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:22:15.963 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:22:16.737 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:22:16.745 [debug] QUERY OK source="settings" db=1.6ms queue=1.5ms idle=1708.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:16.751 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1716.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:16.753 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:22:16.800 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:22:16.835 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:22:16.842 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:22:16.882 [info] {"args":{},"id":10,"meta":{},"system_time":1775949736880971169,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:22:16.883 [info] Updating yt-dlp 11:22:16.884 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:22:17.840 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949737837027763,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:22:17.849 [debug] QUERY OK source="sources" db=1.2ms queue=1.6ms idle=968.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:22:17.857 [debug] QUERY OK source="settings" db=2.4ms queue=0.2ms idle=818.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:17.909 [debug] QUERY OK source="media_items" db=37.7ms queue=4.8ms idle=44.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")))) [1] 11:22:17.922 [debug] QUERY OK source="media_items" db=10.7ms queue=1.3ms idle=74.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:22:17.934 [debug] QUERY OK source="media_profiles" db=2.1ms queue=1.0ms 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] 11:22:17.943 [debug] QUERY OK source="settings" db=0.8ms queue=0.5ms idle=92.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:17.945 [debug] QUERY OK source="settings" db=1.1ms queue=0.7ms idle=87.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:17.953 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:22:17.956 [debug] QUERY OK source="settings" db=3.1ms queue=0.2ms idle=44.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:17.959 [debug] QUERY OK source="settings" db=1.2ms queue=0.8ms idle=34.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:17.960 [debug] Current batch of media processed. Will check again in 1000ms 11:22:17.962 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=26.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:17.965 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fc/1a/fc1a4c097166389e76e528b07c5eee668534437a0decbe3ea4e455e776040c85.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:22:18.961 [debug] Current batch of media processed. Will check again in 1000ms 11:22:19.287 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:22:19.333 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:22:19.342 [debug] QUERY OK source="media_items" db=3.8ms queue=1.2ms idle=496.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:22:19.366 [debug] QUERY OK source="media_items" db=19.3ms queue=3.1ms idle=492.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:22:19.368 [debug] Replied in 38ms 11:22:19.390 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:22:19.398 [debug] QUERY OK source="media_items" db=1.2ms queue=3.7ms idle=357.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:22:19.410 [debug] QUERY OK source="media_items" db=5.9ms queue=4.5ms idle=364.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:22:19.410 [debug] Replied in 20ms 11:22:19.413 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:22:19.431 [debug] QUERY OK source="tasks" db=14.2ms queue=0.1ms idle=380.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:22:19.439 [debug] QUERY OK source="sources" db=0.7ms queue=2.2ms idle=93.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:22:19.440 [debug] Replied in 26ms 11:22:19.470 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:22:19.470 [debug] Replied in 417µs 11:22:19.496 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:22:19.500 [debug] Replied in 4ms 11:22:19.966 [debug] Current batch of media processed. Will check again in 1000ms 11:22:20.968 [debug] Current batch of media processed. Will check again in 1000ms 11:22:21.033 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:22:21.034 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:22:21.970 [debug] Current batch of media processed. Will check again in 1000ms 11:22:22.973 [debug] Current batch of media processed. Will check again in 1000ms 11:22:23.950 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:22:23.953 [debug] QUERY OK source="settings" db=1.0ms queue=0.3ms idle=913.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:23.967 [info] {"args":{},"id":10,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":7075380,"event":"job:stop","queue_time":863258,"attempt":1,"tags":["local_data"]} 11:22:23.974 [debug] Current batch of media processed. Will check again in 1000ms 11:22:23.978 [debug] QUERY OK source="tasks" db=8.0ms queue=0.1ms idle=932.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:22:23.993 [debug] QUERY OK source="sources" db=7.3ms queue=1.5ms idle=86.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:22:24.975 [debug] Current batch of media processed. Will check again in 1000ms 11:22:25.978 [debug] Current batch of media processed. Will check again in 1000ms 11:22:26.984 [debug] Current batch of media processed. Will check again in 1000ms 11:22:27.986 [debug] Current batch of media processed. Will check again in 1000ms 11:22:28.988 [debug] Current batch of media processed. Will check again in 1000ms 11:22:29.990 [debug] Current batch of media processed. Will check again in 1000ms 11:22:30.991 [debug] Current batch of media processed. Will check again in 1000ms 11:22:31.993 [debug] Current batch of media processed. Will check again in 1000ms 11:22:32.995 [debug] Current batch of media processed. Will check again in 1000ms 11:22:34.000 [debug] Current batch of media processed. Will check again in 1000ms 11:22:35.005 [debug] Current batch of media processed. Will check again in 1000ms 11:22:36.008 [debug] Current batch of media processed. Will check again in 1000ms 11:22:37.011 [debug] Current batch of media processed. Will check again in 1000ms 11:22:38.014 [debug] Current batch of media processed. Will check again in 1000ms 11:22:39.015 [debug] Current batch of media processed. Will check again in 1000ms 11:22:40.016 [debug] Current batch of media processed. Will check again in 1000ms 11:22:41.300 [debug] Current batch of media processed. Will check again in 1000ms 11:22:42.315 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:22:42.324 [debug] QUERY OK source="sources" db=3.5ms queue=0.2ms idle=1018.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:22:42.329 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1026.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:22:42.357 [debug] QUERY OK source="media_items" db=21.5ms queue=3.9ms idle=1028.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-28 23:31:06Z], 1] 11:22:42.390 [debug] QUERY OK source="media_items" db=26.4ms queue=0.1ms idle=38.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "cd6c91b7-4be0-4f7b-9f96-3ac570fee8ec", false, 1, [], 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:22:42Z], ~U[2026-04-11 23:22:42Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", 1, 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, ~U[2025-11-28 23:31:06Z]] 11:22:42.392 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=61.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:22:42.395 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.1ms idle=58.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:22:42.400 [debug] QUERY OK source="media_items" db=0.7ms queue=0.9ms idle=41.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 [1] 11:22:42.400 [debug] Current batch of media processed. Will check again in 1000ms 11:22:43.406 [debug] Current batch of media processed. Will check again in 1000ms 11:22:44.410 [debug] Current batch of media processed. Will check again in 1000ms 11:22:45.414 [debug] Current batch of media processed. Will check again in 1000ms 11:22:46.419 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:22:46.422 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=116.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:22:46.429 [debug] QUERY OK source="sources" db=2.5ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:22:46.446 [debug] QUERY OK source="media_items" db=15.4ms queue=1.4ms idle=125.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-27 18:01:18Z], 1] 11:22:46.459 [debug] QUERY OK source="media_items" db=10.6ms queue=0.1ms idle=75.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "ca16fcb5-5899-4a47-baa8-a91ef2dc0841", false, 1, [], 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:22:46Z], ~U[2026-04-11 23:22:46Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", 1, 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, ~U[2025-11-27 18:01:18Z]] 11:22:46.463 [debug] QUERY OK source="sources" db=2.9ms queue=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" = ?) [1] 11:22:46.466 [debug] QUERY OK source="media_profiles" db=1.5ms queue=1.1ms idle=41.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:22:46.469 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=38.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2] 11:22:46.470 [debug] Current batch of media processed. Will check again in 1000ms 11:22:46.812 [info] {"source":"oban","duration":10353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:47.471 [debug] Current batch of media processed. Will check again in 1000ms 11:22:58.633 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:58.634 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:58.634 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:58.634 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:58.634 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:22:58.677 [debug] QUERY OK source="oban_jobs" db=20.3ms decode=0.2ms queue=88.2ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:22:58.678 [info] Reset 1 executing jobs 11:22:58.681 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:23:01.630 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:23:01.643 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:23:02.933 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:23:02.943 [debug] QUERY OK source="settings" db=2.1ms queue=1.6ms idle=392.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:02.948 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=400.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:02.951 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:23:02.996 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:23:03.031 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:23:03.037 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:23:03.077 [info] {"args":{},"id":11,"meta":{},"system_time":1775949783075947160,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:23:03.079 [info] Updating yt-dlp 11:23:03.079 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:23:04.016 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949784015941091,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:23:04.022 [debug] QUERY OK source="sources" db=1.7ms queue=2.2ms idle=966.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:04.028 [debug] QUERY OK source="settings" db=0.7ms queue=0.7ms idle=953.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:04.080 [debug] QUERY OK source="media_items" db=39.1ms queue=5.0ms idle=34.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")))) [1] 11:23:04.087 [debug] QUERY OK source="media_items" db=4.8ms queue=1.1ms idle=68.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:23:04.094 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.8ms idle=76.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:23:04.102 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=79.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:04.103 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=73.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:04.110 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:23:04.114 [debug] Current batch of media processed. Will check again in 1000ms 11:23:04.115 [debug] QUERY OK source="settings" db=4.0ms queue=0.2ms idle=30.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:04.117 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=27.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:04.120 [debug] QUERY OK source="settings" db=2.3ms idle=23.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:04.122 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b1/c0/b1c0bf83104dcfecef47777191078e7ae67e40daa696fb69e2b35ed81024473e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:23:05.115 [debug] Current batch of media processed. Will check again in 1000ms 11:23:06.116 [debug] Current batch of media processed. Will check again in 1000ms 11:23:06.267 [info] CONNECTED TO Phoenix.LiveView.Socket in 1ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "1", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:23:06.316 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:23:06.327 [debug] QUERY OK source="media_items" db=5.2ms queue=0.8ms idle=773.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:23:06.364 [debug] QUERY OK source="media_items" db=30.1ms queue=2.5ms idle=783.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:23:06.368 [debug] Replied in 52ms 11:23:06.385 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:23:06.397 [debug] QUERY OK source="media_items" db=6.7ms queue=1.4ms idle=840.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:23:06.407 [debug] QUERY OK source="media_items" db=5.8ms queue=1.2ms idle=376.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:23:06.407 [debug] Replied in 22ms 11:23:06.413 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:23:06.428 [debug] QUERY OK source="tasks" db=9.6ms queue=0.1ms idle=383.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:23:06.433 [debug] QUERY OK source="sources" db=0.8ms queue=1.4ms idle=102.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:06.433 [debug] Replied in 20ms 11:23:06.451 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:23:06.452 [debug] Replied in 411µs 11:23:06.473 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:23:06.476 [debug] Replied in 3ms 11:23:06.916 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:23:06.917 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:23:07.118 [debug] Current batch of media processed. Will check again in 1000ms 11:23:08.120 [debug] Current batch of media processed. Will check again in 1000ms 11:23:09.123 [debug] Current batch of media processed. Will check again in 1000ms 11:23:09.740 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:23:09.744 [debug] QUERY OK source="settings" db=3.0ms queue=0.3ms idle=693.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:09.752 [info] {"args":{},"id":11,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6669566,"event":"job:stop","queue_time":60744,"attempt":1,"tags":["local_data"]} 11:23:09.780 [debug] QUERY OK source="tasks" db=20.0ms queue=0.1ms idle=209.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:23:09.789 [debug] QUERY OK source="sources" db=6.9ms queue=0.5ms idle=231.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:10.127 [debug] Current batch of media processed. Will check again in 1000ms 11:23:11.135 [debug] Current batch of media processed. Will check again in 1000ms 11:23:12.138 [debug] Current batch of media processed. Will check again in 1000ms 11:23:13.141 [debug] Current batch of media processed. Will check again in 1000ms 11:23:14.144 [debug] Current batch of media processed. Will check again in 1000ms 11:23:15.147 [debug] Current batch of media processed. Will check again in 1000ms 11:23:16.150 [debug] Current batch of media processed. Will check again in 1000ms 11:23:17.153 [debug] Current batch of media processed. Will check again in 1000ms 11:23:18.159 [debug] Current batch of media processed. Will check again in 1000ms 11:23:19.161 [debug] Current batch of media processed. Will check again in 1000ms 11:23:20.164 [debug] Current batch of media processed. Will check again in 1000ms 11:23:21.167 [debug] Current batch of media processed. Will check again in 1000ms 11:23:22.168 [debug] Current batch of media processed. Will check again in 1000ms 11:23:23.169 [debug] Current batch of media processed. Will check again in 1000ms 11:23:24.170 [debug] Current batch of media processed. Will check again in 1000ms 11:23:25.172 [debug] Current batch of media processed. Will check again in 1000ms 11:23:26.175 [debug] Current batch of media processed. Will check again in 1000ms 11:23:27.178 [debug] Current batch of media processed. Will check again in 1000ms 11:23:28.207 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:23:28.238 [debug] QUERY OK source="sources" db=25.3ms queue=0.6ms 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 (?)) [1] 11:23:28.244 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=672.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:28.306 [debug] QUERY OK source="media_items" db=56.0ms queue=1.7ms idle=676.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 23:31:06Z], 1] 11:23:28.363 [debug] QUERY OK source="media_items" db=51.6ms queue=0.1ms idle=72.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "8f34b282-111b-4434-aaba-46afa63e3a4a", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:23:28Z], ~U[2026-04-11 23:23:28Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:23:28.366 [debug] QUERY OK source="sources" db=1.1ms queue=1.0ms idle=125.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:28.368 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=122.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:23:28.371 [debug] QUERY OK source="media_items" db=1.6ms queue=0.8ms idle=122.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 [1] 11:23:28.372 [debug] Current batch of media processed. Will check again in 1000ms 11:23:29.374 [debug] Current batch of media processed. Will check again in 1000ms 11:23:30.376 [debug] Current batch of media processed. Will check again in 1000ms 11:23:31.389 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:23:31.400 [debug] QUERY OK source="sources" db=3.6ms queue=0.8ms idle=1818.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:23:31.410 [debug] QUERY OK source="sources" db=4.1ms queue=0.6ms idle=1153.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:31.423 [debug] QUERY OK source="media_items" db=11.9ms queue=0.2ms idle=1151.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-27 18:01:18Z], 1] 11:23:31.436 [debug] QUERY OK source="media_items" db=10.9ms queue=0.1ms idle=166.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "557894da-1bf8-41cb-a867-651944419f8d", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, false, 1, [], 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:23:31Z], ~U[2026-04-11 23:23:31Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:23:31.439 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=169.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:31.440 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=40.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:23:31.445 [debug] QUERY OK source="media_items" db=3.0ms queue=0.2ms idle=31.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 [2] 11:23:31.445 [debug] Current batch of media processed. Will check again in 1000ms 11:23:32.450 [debug] Current batch of media processed. Will check again in 1000ms 11:23:33.001 [info] {"source":"oban","duration":12846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:33.454 [debug] Current batch of media processed. Will check again in 1000ms 11:23:34.466 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:23:34.482 [debug] QUERY OK source="sources" db=9.8ms queue=1.1ms idle=1469.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:23:34.486 [debug] QUERY OK source="sources" db=1.0ms queue=0.3ms idle=1210.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:34.507 [debug] QUERY OK source="media_items" db=20.0ms queue=0.1ms idle=1200.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 19:28:30Z], 1] 11:23:34.520 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=225.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "af2a1d85-0e7b-4d56-b621-18872eb7d782", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, false, 1, [], 98, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:23:34Z], ~U[2026-04-11 23:23:34Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, 1, ~U[2025-11-08 19:28:30Z]] 11:23:34.522 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=229.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:34.524 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.1ms idle=41.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:23:34.527 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=38.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 11:23:34.527 [debug] Current batch of media processed. Will check again in 1000ms 11:23:35.528 [debug] Current batch of media processed. Will check again in 1000ms 11:23:36.539 [debug] Current batch of media processed. Will check again in 1000ms 11:23:37.548 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1854, "filename" => "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", "id" => "WQNO2GuY-vc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WQNO2GuY-vc", "playlist_index" => 4, "timestamp" => 1762470131, "title" => "Hasan's TikTok Reposts Are Insane", "upload_date" => "20251106"} 11:23:37.562 [debug] QUERY OK source="sources" db=2.8ms queue=2.2ms idle=1973.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:23:37.568 [debug] QUERY OK source="sources" db=1.7ms queue=0.2ms idle=1261.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:37.584 [debug] QUERY OK source="media_items" db=12.4ms queue=1.7ms idle=1254.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-06 23:02:11Z], 1] 11:23:37.598 [debug] QUERY OK source="media_items" db=10.9ms queue=0.3ms idle=272.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "c358b090-b24e-44d5-90e8-10e9158838db", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", 4, "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, false, false, 1, [], 98, ~U[2025-11-06 23:02:11Z], ~U[2026-04-11 23:23:37Z], ~U[2026-04-11 23:23:37Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, 1, ~U[2025-11-06 23:02:11Z]] 11:23:37.604 [debug] QUERY OK source="sources" db=2.6ms queue=1.3ms 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" = ?) [1] 11:23:37.608 [debug] QUERY OK source="media_profiles" db=3.7ms queue=0.2ms idle=42.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:23:37.612 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=41.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 [4] 11:23:37.612 [debug] Current batch of media processed. Will check again in 1000ms 11:23:38.614 [debug] Current batch of media processed. Will check again in 1000ms 11:23:39.615 [debug] Current batch of media processed. Will check again in 1000ms 11:23:51.003 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:23:51.004 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:23:51.007 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:23:51.007 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:23:51.007 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:23:51.036 [debug] QUERY OK source="oban_jobs" db=9.2ms decode=0.2ms queue=83.0ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:23:51.036 [info] Reset 1 executing jobs 11:23:51.040 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:23:53.707 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:23:53.708 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:23:54.452 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:23:54.459 [debug] QUERY OK source="settings" db=1.5ms queue=1.3ms idle=1533.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:54.464 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1540.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:54.466 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:23:54.507 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:23:54.537 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:23:54.543 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:23:54.580 [info] {"args":{},"id":12,"meta":{},"system_time":1775949834578959235,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:23:54.581 [info] Updating yt-dlp 11:23:54.582 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:23:55.523 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949835522861915,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:23:55.529 [debug] QUERY OK source="sources" db=1.2ms queue=0.6ms idle=950.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:55.533 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=609.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:55.573 [debug] QUERY OK source="media_items" db=25.9ms queue=4.8ms idle=31.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")))) [1] 11:23:55.585 [debug] QUERY OK source="media_items" db=9.7ms queue=1.7ms idle=53.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:23:55.592 [debug] QUERY OK source="media_profiles" db=1.5ms queue=1.1ms idle=67.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:23:55.602 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=72.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:55.604 [debug] QUERY OK source="settings" db=1.0ms queue=0.7ms idle=70.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:55.614 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:23:55.617 [debug] Current batch of media processed. Will check again in 1000ms 11:23:55.619 [debug] QUERY OK source="settings" db=1.8ms queue=2.0ms idle=42.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:55.621 [debug] QUERY OK source="settings" db=0.8ms queue=1.1ms idle=33.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:55.623 [debug] QUERY OK source="settings" db=0.7ms queue=1.1ms idle=29.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:55.630 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/34/dc/34dc0dba28318bb1e704ec44bffacb5a314c6f3a76c12257b9092a932635cc39.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:23:56.619 [debug] Current batch of media processed. Will check again in 1000ms 11:23:57.620 [debug] Current batch of media processed. Will check again in 1000ms 11:23:58.295 [info] CONNECTED TO Phoenix.LiveView.Socket in 2ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "2", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:23:58.336 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:23:58.344 [debug] QUERY OK source="media_items" db=4.3ms queue=1.0ms idle=1416.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:23:58.376 [debug] QUERY OK source="media_items" db=26.5ms queue=3.2ms idle=1423.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:23:58.377 [debug] Replied in 40ms 11:23:58.388 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:23:58.395 [debug] QUERY OK source="media_items" db=4.1ms queue=1.2ms idle=1466.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:23:58.407 [debug] QUERY OK source="media_items" db=7.0ms queue=2.5ms idle=868.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:23:58.408 [debug] Replied in 19ms 11:23:58.414 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:23:58.428 [debug] QUERY OK source="tasks" db=9.6ms queue=0.4ms idle=879.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:23:58.436 [debug] QUERY OK source="sources" db=0.5ms queue=2.5ms idle=88.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:23:58.436 [debug] Replied in 22ms 11:23:58.462 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:23:58.462 [debug] Replied in 432µs 11:23:58.483 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:23:58.487 [debug] Replied in 4ms 11:23:58.497 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:23:58.498 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:23:58.621 [debug] Current batch of media processed. Will check again in 1000ms 11:23:59.623 [debug] Current batch of media processed. Will check again in 1000ms 11:24:00.502 [info] {"source":"oban","duration":2999,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:24:00.625 [debug] Current batch of media processed. Will check again in 1000ms 11:24:01.218 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:24:01.220 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=1295.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:01.227 [info] {"args":{},"id":12,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6642185,"event":"job:stop","queue_time":564110,"attempt":1,"tags":["local_data"]} 11:24:01.235 [debug] QUERY OK source="tasks" db=5.2ms queue=0.4ms idle=726.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:24:01.242 [debug] QUERY OK source="sources" db=5.8ms queue=0.3ms idle=681.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:24:01.630 [debug] Current batch of media processed. Will check again in 1000ms 11:24:02.631 [debug] Current batch of media processed. Will check again in 1000ms 11:24:03.633 [debug] Current batch of media processed. Will check again in 1000ms 11:24:04.635 [debug] Current batch of media processed. Will check again in 1000ms 11:24:05.636 [debug] Current batch of media processed. Will check again in 1000ms 11:24:06.639 [debug] Current batch of media processed. Will check again in 1000ms 11:24:07.641 [debug] Current batch of media processed. Will check again in 1000ms 11:24:08.644 [debug] Current batch of media processed. Will check again in 1000ms 11:24:09.646 [debug] Current batch of media processed. Will check again in 1000ms 11:24:10.647 [debug] Current batch of media processed. Will check again in 1000ms 11:24:11.649 [debug] Current batch of media processed. Will check again in 1000ms 11:24:12.650 [debug] Current batch of media processed. Will check again in 1000ms 11:24:13.656 [debug] Current batch of media processed. Will check again in 1000ms 11:24:14.658 [debug] Current batch of media processed. Will check again in 1000ms 11:24:15.665 [debug] Current batch of media processed. Will check again in 1000ms 11:24:16.671 [debug] Current batch of media processed. Will check again in 1000ms 11:24:17.672 [debug] Current batch of media processed. Will check again in 1000ms 11:24:18.673 [debug] Current batch of media processed. Will check again in 1000ms 11:24:19.686 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:24:19.764 [debug] QUERY OK source="sources" db=74.2ms queue=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:24:19.768 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=783.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:24:20.242 [debug] QUERY OK source="media_items" db=464.4ms queue=1.0ms idle=786.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 23:31:06Z], 1] 11:24:20.448 [debug] QUERY OK source="media_items" db=192.7ms queue=0.3ms idle=537.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "28fb3307-ac7d-48ad-8439-858588ee0f8d", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:24:20Z], ~U[2026-04-11 23:24:20Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:24:20.494 [debug] QUERY OK source="sources" db=43.7ms queue=0.4ms idle=725.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:24:20.506 [debug] QUERY OK source="media_profiles" db=10.8ms queue=0.2ms idle=731.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:24:20.514 [debug] QUERY OK source="media_items" db=1.8ms queue=1.3ms idle=742.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 [1] 11:24:20.515 [debug] Current batch of media processed. Will check again in 1000ms 11:24:21.517 [debug] Current batch of media processed. Will check again in 1000ms 11:24:36.389 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:24:36.392 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:24:36.393 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:24:36.393 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:24:36.393 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:24:36.496 [debug] QUERY OK source="oban_jobs" db=77.1ms decode=0.3ms queue=146.6ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:24:36.497 [info] Reset 1 executing jobs 11:24:36.524 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:24:39.573 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:24:39.575 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:24:40.399 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:24:40.411 [debug] QUERY OK source="settings" db=6.3ms queue=1.3ms idle=150.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:40.416 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=162.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:40.418 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:24:40.460 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:24:40.489 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:24:40.497 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:24:40.538 [info] {"args":{},"id":13,"meta":{},"system_time":1775949880536906081,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:24:40.541 [info] Updating yt-dlp 11:24:40.543 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:24:41.484 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949881483826265,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:24:41.492 [debug] QUERY OK source="sources" db=1.8ms queue=2.3ms idle=976.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:24:41.497 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=962.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:41.550 [debug] QUERY OK source="media_items" db=41.4ms queue=3.6ms idle=33.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")))) [1] 11:24:41.560 [debug] QUERY OK source="media_items" db=6.6ms queue=2.7ms idle=67.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:24:41.566 [debug] QUERY OK source="media_profiles" db=1.4ms queue=1.0ms idle=74.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:24:41.575 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=81.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:41.577 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms 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 [] 11:24:41.584 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:24:41.588 [debug] Current batch of media processed. Will check again in 1000ms 11:24:41.591 [debug] QUERY OK source="settings" db=6.3ms queue=0.2ms idle=34.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:41.592 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=31.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:41.594 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=26.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:41.597 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c0/ab/c0abeb3cbb43fdb7f532552f968073ad36dc98fc6b575fb0f4579f1b88c9bc05.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:24:42.590 [debug] Current batch of media processed. Will check again in 1000ms 11:24:43.590 [debug] Current batch of media processed. Will check again in 1000ms 11:24:44.315 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:24:44.316 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:24:44.592 [debug] Current batch of media processed. Will check again in 1000ms 11:24:45.595 [debug] Current batch of media processed. Will check again in 1000ms 11:24:46.322 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "3", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:24:46.369 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:24:46.381 [debug] QUERY OK source="media_items" db=2.9ms queue=3.4ms idle=1117.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:24:46.401 [debug] QUERY OK source="media_items" db=13.6ms queue=2.2ms idle=1128.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:24:46.403 [debug] Replied in 34ms 11:24:46.414 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:24:46.421 [debug] QUERY OK source="media_items" db=2.1ms queue=1.8ms idle=904.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:24:46.427 [debug] QUERY OK source="media_items" db=4.0ms queue=1.1ms idle=898.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:24:46.427 [debug] Replied in 12ms 11:24:46.429 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:24:46.442 [debug] QUERY OK source="tasks" db=8.1ms queue=0.1ms idle=177.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:24:46.446 [debug] QUERY OK source="sources" db=0.6ms queue=0.9ms idle=64.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:24:46.447 [debug] Replied in 17ms 11:24:46.466 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:24:46.467 [debug] Replied in 1ms 11:24:46.488 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:24:46.489 [debug] Replied in 1ms 11:24:46.596 [debug] Current batch of media processed. Will check again in 1000ms 11:24:47.247 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:24:47.254 [debug] QUERY OK source="settings" db=5.8ms queue=0.3ms idle=821.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:47.266 [info] {"args":{},"id":13,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6718301,"event":"job:stop","queue_time":519331,"attempt":1,"tags":["local_data"]} 11:24:47.277 [debug] QUERY OK source="tasks" db=8.4ms queue=0.4ms idle=822.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:24:47.283 [debug] QUERY OK source="sources" db=1.6ms queue=3.0ms idle=756.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:24:47.597 [debug] Current batch of media processed. Will check again in 1000ms 11:24:48.599 [debug] Current batch of media processed. Will check again in 1000ms 11:24:49.600 [debug] Current batch of media processed. Will check again in 1000ms 11:24:50.605 [debug] Current batch of media processed. Will check again in 1000ms 11:24:51.609 [debug] Current batch of media processed. Will check again in 1000ms 11:24:52.615 [debug] Current batch of media processed. Will check again in 1000ms 11:24:53.617 [debug] Current batch of media processed. Will check again in 1000ms 11:24:54.619 [debug] Current batch of media processed. Will check again in 1000ms 11:24:55.624 [debug] Current batch of media processed. Will check again in 1000ms 11:24:56.625 [debug] Current batch of media processed. Will check again in 1000ms 11:24:57.627 [debug] Current batch of media processed. Will check again in 1000ms 11:24:58.629 [debug] Current batch of media processed. Will check again in 1000ms 11:24:59.632 [debug] Current batch of media processed. Will check again in 1000ms 11:25:00.461 [info] {"source":"oban","duration":3542,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:25:00.634 [debug] Current batch of media processed. Will check again in 1000ms 11:25:01.637 [debug] Current batch of media processed. Will check again in 1000ms 11:25:02.639 [debug] Current batch of media processed. Will check again in 1000ms 11:25:03.642 [debug] Current batch of media processed. Will check again in 1000ms 11:25:04.657 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:25:04.664 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1394.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:25:04.669 [debug] QUERY OK source="sources" db=0.9ms queue=0.5ms idle=1401.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:04.692 [debug] QUERY OK source="media_items" db=18.0ms queue=1.9ms idle=983.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 23:31:06Z], 1] 11:25:04.727 [debug] QUERY OK source="media_items" db=28.8ms queue=0.8ms idle=428.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "3e416a67-e9cc-4fab-8b41-62ceb93ee164", "kzq8v4nsrm0", 1, [], 2840, false, "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, false, 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:25:04Z], ~U[2026-04-11 23:25:04Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "kzq8v4nsrm0", 1, 2840, false, "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, ~U[2025-11-28 23:31:06Z]] 11:25:04.729 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=58.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:04.731 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=38.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:25:04.735 [debug] QUERY OK source="media_items" db=1.4ms queue=0.7ms idle=35.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 [1] 11:25:04.737 [debug] Current batch of media processed. Will check again in 1000ms 11:25:05.739 [debug] Current batch of media processed. Will check again in 1000ms 11:25:06.741 [debug] Current batch of media processed. Will check again in 1000ms 11:25:07.745 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:25:07.749 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms idle=1478.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:25:07.752 [debug] QUERY OK source="sources" db=1.4ms queue=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" = ?) [1] 11:25:07.772 [debug] QUERY OK source="media_items" db=19.3ms queue=0.1ms idle=1027.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-27 18:01:18Z], 1] 11:25:07.785 [debug] QUERY OK source="media_items" db=10.7ms queue=0.1ms idle=49.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "e9e08aaa-037e-4819-a2a2-014467027a22", "xZzglaCaxIs", 1, [], 6503, false, "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, false, 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:25:07Z], ~U[2026-04-11 23:25:07Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "xZzglaCaxIs", 1, 6503, false, "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, ~U[2025-11-27 18:01:18Z]] 11:25:07.788 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=52.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:07.789 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=39.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:25:07.791 [debug] QUERY OK source="media_items" db=1.0ms idle=37.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 [2] 11:25:07.792 [debug] Current batch of media processed. Will check again in 1000ms 11:25:08.792 [debug] Current batch of media processed. Will check again in 1000ms 11:25:09.795 [debug] Current batch of media processed. Will check again in 1000ms 11:25:10.460 [info] {"source":"oban","duration":7518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:10.802 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:25:10.804 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=1060.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:25:10.807 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1049.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:10.825 [debug] QUERY OK source="media_items" db=16.7ms queue=0.1ms idle=347.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 19:28:30Z], 1] 11:25:10.836 [debug] QUERY OK source="media_items" db=9.4ms queue=0.1ms idle=76.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "e3b7d748-754a-49f6-a388-559081e5fa51", "c8migKrX0yA", 1, [], 2791, false, "https://www.youtube.com/watch?v=c8migKrX0yA", 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, false, 98, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:25:10Z], ~U[2026-04-11 23:25:10Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "c8migKrX0yA", 1, 2791, false, "https://www.youtube.com/watch?v=c8migKrX0yA", "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, ~U[2025-11-08 19:28:30Z]] 11:25:10.838 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=79.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:10.839 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=33.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:25:10.841 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=33.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 [3] 11:25:10.841 [debug] Current batch of media processed. Will check again in 1000ms 11:25:11.845 [debug] Current batch of media processed. Will check again in 1000ms 11:25:12.848 [debug] Current batch of media processed. Will check again in 1000ms 11:25:23.602 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:25:23.607 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:25:23.607 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:25:23.607 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:25:23.608 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:25:23.642 [debug] QUERY OK source="oban_jobs" db=11.1ms decode=0.2ms queue=51.2ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:25:23.644 [info] Reset 1 executing jobs 11:25:23.647 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:25:26.231 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:25:26.233 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:25:27.224 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:25:27.232 [debug] QUERY OK source="settings" db=2.2ms queue=1.3ms idle=1688.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:25:27.239 [debug] QUERY OK source="settings" db=1.7ms queue=0.2ms idle=1696.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:25:27.241 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:25:27.285 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:25:27.316 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:25:27.322 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:25:27.363 [info] {"args":{},"id":14,"meta":{},"system_time":1775949927361219322,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:25:27.364 [info] Updating yt-dlp 11:25:27.365 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:25:28.304 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949928303134244,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:25:28.311 [debug] QUERY OK source="sources" db=0.8ms queue=2.5ms idle=949.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:28.318 [debug] QUERY OK source="settings" db=4.3ms queue=0.1ms idle=773.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:25:28.352 [debug] QUERY OK source="media_items" db=18.6ms queue=7.2ms idle=33.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")))) [1] 11:25:28.369 [debug] QUERY OK source="media_items" db=14.1ms queue=1.8ms idle=50.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:25:28.378 [debug] QUERY OK source="media_profiles" db=1.7ms queue=2.2ms idle=69.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:25:28.393 [debug] QUERY OK source="settings" db=6.1ms queue=0.1ms idle=75.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:25:28.397 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms idle=75.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:25:28.407 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:25:28.412 [debug] Current batch of media processed. Will check again in 1000ms 11:25:28.413 [debug] QUERY OK source="settings" db=4.0ms queue=0.9ms idle=56.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:25:28.414 [debug] QUERY OK source="settings" db=0.7ms idle=44.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:25:28.417 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=36.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:25:28.419 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3e/0e/3e0e921f950915daeea4e74191c893021c0042ebb7ed4cf9924d604f8a8be444.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:25:29.413 [debug] Current batch of media processed. Will check again in 1000ms 11:25:30.414 [debug] Current batch of media processed. Will check again in 1000ms 11:25:31.188 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:25:31.190 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:25:31.334 [info] CONNECTED TO Phoenix.LiveView.Socket in 3ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "4", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:25:31.381 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:25:31.389 [debug] QUERY OK source="media_items" db=1.8ms queue=4.5ms idle=1841.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:25:31.408 [debug] QUERY OK source="media_items" db=14.3ms queue=3.7ms idle=1080.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:25:31.409 [debug] Replied in 28ms 11:25:31.432 [debug] Current batch of media processed. Will check again in 1000ms 11:25:31.436 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:25:31.447 [debug] QUERY OK source="media_items" db=8.8ms queue=1.2ms idle=1121.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:25:31.456 [debug] QUERY OK source="media_items" db=5.6ms queue=1.5ms idle=109.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:25:31.457 [debug] Replied in 23ms 11:25:31.462 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:25:31.472 [debug] QUERY OK source="tasks" db=6.8ms queue=0.1ms idle=117.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:25:31.478 [debug] QUERY OK source="sources" db=3.1ms queue=1.5ms 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" = ?) [1] 11:25:31.478 [debug] Replied in 16ms 11:25:31.492 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:25:31.492 [debug] Replied in 339µs 11:25:31.514 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:25:31.516 [debug] Replied in 2ms 11:25:32.433 [debug] Current batch of media processed. Will check again in 1000ms 11:25:33.434 [debug] Current batch of media processed. Will check again in 1000ms 11:25:34.041 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:25:34.046 [debug] QUERY OK source="settings" db=3.2ms queue=0.3ms idle=1.5e3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:25:34.052 [info] {"args":{},"id":14,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6685332,"event":"job:stop","queue_time":345329,"attempt":1,"tags":["local_data"]} 11:25:34.060 [debug] QUERY OK source="tasks" db=4.7ms queue=0.1ms idle=1513.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:25:34.068 [debug] QUERY OK source="sources" db=7.1ms queue=0.1ms idle=706.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:34.440 [debug] Current batch of media processed. Will check again in 1000ms 11:25:35.446 [debug] Current batch of media processed. Will check again in 1000ms 11:25:36.450 [debug] Current batch of media processed. Will check again in 1000ms 11:25:37.455 [debug] Current batch of media processed. Will check again in 1000ms 11:25:38.456 [debug] Current batch of media processed. Will check again in 1000ms 11:25:39.461 [debug] Current batch of media processed. Will check again in 1000ms 11:25:40.463 [debug] Current batch of media processed. Will check again in 1000ms 11:25:41.464 [debug] Current batch of media processed. Will check again in 1000ms 11:25:42.465 [debug] Current batch of media processed. Will check again in 1000ms 11:25:43.466 [debug] Current batch of media processed. Will check again in 1000ms 11:25:44.469 [debug] Current batch of media processed. Will check again in 1000ms 11:25:45.470 [debug] Current batch of media processed. Will check again in 1000ms 11:25:46.471 [debug] Current batch of media processed. Will check again in 1000ms 11:25:47.473 [debug] Current batch of media processed. Will check again in 1000ms 11:25:48.475 [debug] Current batch of media processed. Will check again in 1000ms 11:25:49.476 [debug] Current batch of media processed. Will check again in 1000ms 11:25:50.478 [debug] Current batch of media processed. Will check again in 1000ms 11:25:51.481 [debug] Current batch of media processed. Will check again in 1000ms 11:25:52.491 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:25:52.496 [debug] QUERY OK source="sources" db=2.4ms queue=0.3ms idle=991.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:25:52.505 [debug] QUERY OK source="sources" db=1.9ms queue=0.5ms idle=988.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:52.558 [debug] QUERY OK source="media_items" db=44.2ms queue=2.3ms idle=960.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-28 23:31:06Z], 1] 11:25:52.606 [debug] QUERY OK source="media_items" db=42.2ms queue=0.1ms idle=65.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","original_url","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "8f5399a9-c390-4e81-a69f-8b9421b8d97e", false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 2840, false, 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:25:52Z], ~U[2026-04-11 23:25:52Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 2840, false, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:25:52.611 [debug] QUERY OK source="sources" db=2.3ms queue=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:52.614 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.2ms idle=99.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:25:52.621 [debug] QUERY OK source="media_items" db=1.3ms queue=0.9ms idle=96.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 [1] 11:25:52.622 [debug] Current batch of media processed. Will check again in 1000ms 11:25:53.628 [debug] Current batch of media processed. Will check again in 1000ms 11:25:54.633 [debug] Current batch of media processed. Will check again in 1000ms 11:25:55.636 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:25:55.640 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=1087.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:25:55.642 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1090.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:55.655 [debug] QUERY OK source="media_items" db=12.2ms queue=0.1ms idle=1092.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-27 18:01:18Z], 1] 11:25:55.666 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=117.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","original_url","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "bb9193ca-7f0f-4ad8-9122-6bc6deff61d5", false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 6503, false, 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, 1, [], 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:25:55Z], ~U[2026-04-11 23:25:55Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 6503, false, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:25:55.668 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=118.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:55.671 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.2ms 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] 11:25:55.673 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=29.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 [2] 11:25:55.673 [debug] Current batch of media processed. Will check again in 1000ms 11:25:56.677 [debug] Current batch of media processed. Will check again in 1000ms 11:25:57.285 [info] {"source":"oban","duration":7068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:57.679 [debug] Current batch of media processed. Will check again in 1000ms 11:25:58.681 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:25:58.683 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1125.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:25:58.686 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1120.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:58.700 [debug] QUERY OK source="media_items" db=13.8ms queue=0.1ms idle=134.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-08 19:28:30Z], 1] 11:25:58.709 [debug] QUERY OK source="media_items" db=7.3ms queue=0.1ms idle=137.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","original_url","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "77d8e81b-b066-4d9e-acff-ee6df8e12d79", false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", 2791, false, 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, 1, [], 98, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:25:58Z], ~U[2026-04-11 23:25:58Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", 2791, false, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, 1, ~U[2025-11-08 19:28:30Z]] 11:25:58.711 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:25:58.713 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.1ms idle=28.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:25:58.716 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=28.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 [3] 11:25:58.716 [debug] Current batch of media processed. Will check again in 1000ms 11:25:59.717 [debug] Current batch of media processed. Will check again in 1000ms 11:26:00.280 [info] {"source":"oban","duration":3994,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:26:00.718 [debug] Current batch of media processed. Will check again in 1000ms 11:26:12.157 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:12.158 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:12.159 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:12.159 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:12.159 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:12.199 [debug] QUERY OK source="oban_jobs" db=15.3ms decode=0.3ms queue=64.2ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:26:12.200 [info] Reset 1 executing jobs 11:26:12.204 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:26:14.814 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:26:14.815 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:26:15.550 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:26:15.557 [debug] QUERY OK source="settings" db=1.9ms queue=1.0ms idle=1455.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:15.562 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1462.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:15.563 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:26:15.605 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:26:15.635 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:26:15.641 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:26:15.676 [info] {"args":{},"id":15,"meta":{},"system_time":1775949975674789506,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:26:15.677 [info] Updating yt-dlp 11:26:15.678 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:26:16.624 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775949976623837439,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:26:16.631 [debug] QUERY OK source="sources" db=2.2ms queue=2.4ms idle=953.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:26:16.636 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=533.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:16.696 [debug] QUERY OK source="media_items" db=39.5ms queue=10.0ms idle=33.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")))) [1] 11:26:16.711 [debug] QUERY OK source="media_items" db=11.0ms queue=3.0ms idle=73.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:26:16.732 [debug] QUERY OK source="media_profiles" db=3.2ms queue=1.7ms idle=97.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:26:16.752 [debug] QUERY OK source="settings" db=4.8ms queue=0.5ms idle=116.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:16.758 [debug] QUERY OK source="settings" db=1.5ms queue=1.7ms idle=118.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:16.771 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:26:16.777 [debug] Current batch of media processed. Will check again in 1000ms 11:26:16.779 [debug] QUERY OK source="settings" db=6.8ms queue=0.1ms idle=76.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:16.784 [debug] QUERY OK source="settings" db=1.7ms queue=2.6ms idle=69.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:16.788 [debug] QUERY OK source="settings" db=0.6ms queue=2.5ms idle=53.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:16.792 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/33/45/33455856a24fa3a53fbb2d76d1ae9cdf8c106a6f345e198f2842192c85b734d4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:26:17.779 [debug] Current batch of media processed. Will check again in 1000ms 11:26:18.779 [debug] Current batch of media processed. Will check again in 1000ms 11:26:19.315 [info] CONNECTED TO Phoenix.LiveView.Socket in 2ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "5", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:26:19.352 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:26:19.361 [debug] QUERY OK source="media_items" db=5.1ms queue=1.8ms idle=1251.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:26:19.384 [debug] QUERY OK source="media_items" db=20.3ms queue=1.5ms idle=1260.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:26:19.385 [debug] Replied in 33ms 11:26:19.403 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:26:19.414 [debug] QUERY OK source="media_items" db=3.2ms queue=4.2ms idle=1304.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:26:19.427 [debug] QUERY OK source="media_items" db=4.4ms queue=6.2ms idle=788.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:26:19.427 [debug] Replied in 24ms 11:26:19.436 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:26:19.447 [debug] QUERY OK source="tasks" db=6.2ms queue=0.4ms idle=799.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:26:19.451 [debug] QUERY OK source="sources" db=0.6ms queue=0.8ms idle=88.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:26:19.451 [debug] Replied in 15ms 11:26:19.464 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:26:19.464 [debug] Replied in 298µs 11:26:19.483 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:26:19.485 [debug] Replied in 2ms 11:26:19.581 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:26:19.582 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:26:19.781 [debug] Current batch of media processed. Will check again in 1000ms 11:26:20.783 [debug] Current batch of media processed. Will check again in 1000ms 11:26:21.784 [debug] Current batch of media processed. Will check again in 1000ms 11:26:22.324 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:26:22.326 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=1222.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:22.341 [info] {"args":{},"id":15,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6652512,"event":"job:stop","queue_time":660312,"attempt":1,"tags":["local_data"]} 11:26:22.348 [debug] QUERY OK source="tasks" db=4.1ms queue=0.1ms idle=1241.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:26:22.353 [debug] QUERY OK source="sources" db=3.8ms queue=0.2ms idle=698.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:26:22.788 [debug] Current batch of media processed. Will check again in 1000ms 11:26:23.794 [debug] Current batch of media processed. Will check again in 1000ms 11:26:24.800 [debug] Current batch of media processed. Will check again in 1000ms 11:26:25.806 [debug] Current batch of media processed. Will check again in 1000ms 11:26:26.808 [debug] Current batch of media processed. Will check again in 1000ms 11:26:27.812 [debug] Current batch of media processed. Will check again in 1000ms 11:26:28.815 [debug] Current batch of media processed. Will check again in 1000ms 11:26:29.816 [debug] Current batch of media processed. Will check again in 1000ms 11:26:30.819 [debug] Current batch of media processed. Will check again in 1000ms 11:26:31.823 [debug] Current batch of media processed. Will check again in 1000ms 11:26:32.825 [debug] Current batch of media processed. Will check again in 1000ms 11:26:33.826 [debug] Current batch of media processed. Will check again in 1000ms 11:26:34.831 [debug] Current batch of media processed. Will check again in 1000ms 11:26:35.836 [debug] Current batch of media processed. Will check again in 1000ms 11:26:36.838 [debug] Current batch of media processed. Will check again in 1000ms 11:26:37.845 [debug] Current batch of media processed. Will check again in 1000ms 11:26:38.846 [debug] Current batch of media processed. Will check again in 1000ms 11:26:39.847 [debug] Current batch of media processed. Will check again in 1000ms 11:26:40.862 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:26:40.870 [debug] QUERY OK source="sources" db=3.8ms queue=0.3ms idle=746.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:26:40.878 [debug] QUERY OK source="sources" db=3.3ms queue=0.2ms idle=754.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:26:40.897 [debug] QUERY OK source="media_items" db=16.4ms queue=1.3ms idle=759.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 23:31:06Z], 1] 11:26:40.924 [debug] QUERY OK source="media_items" db=22.1ms queue=0.1ms idle=91.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "c0751d8f-ccac-43a5-b8fb-b7e31ca42b63", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:26:40Z], ~U[2026-04-11 23:26:40Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:26:40.927 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=102.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:26:40.930 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=57.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:26:40.934 [debug] QUERY OK source="media_items" db=2.0ms queue=1.1ms idle=53.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 [1] 11:26:40.935 [debug] Current batch of media processed. Will check again in 1000ms 11:26:41.940 [debug] Current batch of media processed. Will check again in 1000ms 11:26:42.943 [debug] Current batch of media processed. Will check again in 1000ms 11:26:43.952 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:26:43.960 [debug] QUERY OK source="sources" db=2.4ms queue=0.6ms idle=1830.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:26:43.967 [debug] QUERY OK source="sources" db=2.9ms queue=0.5ms idle=1138.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:26:43.984 [debug] QUERY OK source="media_items" db=15.6ms queue=0.4ms idle=1135.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-27 18:01:18Z], 1] 11:26:43.997 [debug] QUERY OK source="media_items" db=10.2ms queue=0.2ms idle=145.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "853da7d4-ce14-45bd-8f25-605c1f8b4c8e", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, false, 1, [], 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:26:43Z], ~U[2026-04-11 23:26:43Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:26:43.999 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=142.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:26:44.001 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.3ms idle=40.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:26:44.004 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=35.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 [2] 11:26:44.004 [debug] Current batch of media processed. Will check again in 1000ms 11:26:45.008 [debug] Current batch of media processed. Will check again in 1000ms 11:26:56.143 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:56.144 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:56.144 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:56.145 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:56.145 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:26:56.174 [debug] QUERY OK source="oban_jobs" db=8.9ms decode=0.1ms queue=54.4ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:26:56.175 [info] Reset 1 executing jobs 11:26:56.177 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:26:58.748 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:26:58.750 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:26:59.613 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:26:59.622 [debug] QUERY OK source="settings" db=2.4ms queue=1.5ms idle=1524.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:59.628 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1533.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:59.630 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:26:59.677 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:26:59.718 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:26:59.725 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:26:59.765 [info] {"args":{},"id":16,"meta":{},"system_time":1775950019764018829,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:26:59.767 [info] Updating yt-dlp 11:26:59.767 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:27:00.683 [info] {"source":"oban","duration":5056,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:27:00.717 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775950020717473703,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:27:00.727 [debug] QUERY OK source="sources" db=1.0ms queue=7.2ms idle=626.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:00.732 [debug] QUERY OK source="settings" db=0.7ms queue=1.7ms idle=47.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:00.786 [debug] QUERY OK source="media_items" db=39.9ms queue=5.8ms idle=39.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")))) [1] 11:27:00.794 [debug] QUERY OK source="media_items" db=4.7ms queue=1.8ms idle=70.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:27:00.798 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.9ms idle=74.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:27:00.805 [debug] QUERY OK source="settings" db=2.5ms idle=75.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:00.808 [debug] QUERY OK source="settings" db=2.2ms idle=74.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:00.815 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:27:00.821 [debug] Current batch of media processed. Will check again in 1000ms 11:27:00.821 [debug] QUERY OK source="settings" db=5.9ms queue=0.2ms idle=29.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:00.823 [debug] QUERY OK source="settings" db=1.7ms idle=27.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:00.826 [debug] QUERY OK source="settings" db=2.4ms idle=25.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:00.828 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e5/b1/e5b1485e56c933876a99cabb5c6cab946a556b3538be19c7f58ff4fa432bd99a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:27:01.823 [debug] Current batch of media processed. Will check again in 1000ms 11:27:02.826 [debug] Current batch of media processed. Will check again in 1000ms 11:27:03.318 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "6", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:27:03.367 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:27:03.374 [debug] QUERY OK source="media_items" db=3.3ms queue=1.6ms idle=1274.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:27:03.394 [debug] QUERY OK source="media_items" db=16.0ms queue=1.6ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:27:03.395 [debug] Replied in 29ms 11:27:03.409 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:27:03.417 [debug] QUERY OK source="media_items" db=1.6ms queue=1.9ms idle=1318.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:27:03.425 [debug] QUERY OK source="media_items" db=4.3ms queue=1.8ms idle=700.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:27:03.425 [debug] Replied in 16ms 11:27:03.428 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:27:03.437 [debug] QUERY OK source="tasks" db=5.2ms queue=0.3ms idle=703.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:27:03.442 [debug] QUERY OK source="sources" db=0.6ms queue=0.9ms idle=66.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:03.442 [debug] Replied in 13ms 11:27:03.455 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:27:03.455 [debug] Replied in 281µs 11:27:03.474 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:27:03.475 [debug] Replied in 4ms 11:27:03.711 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:27:03.714 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:27:03.827 [debug] Current batch of media processed. Will check again in 1000ms 11:27:04.828 [debug] Current batch of media processed. Will check again in 1000ms 11:27:05.830 [debug] Current batch of media processed. Will check again in 1000ms 11:27:06.522 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:27:06.527 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=1430.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:06.538 [info] {"args":{},"id":16,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6764112,"event":"job:stop","queue_time":747327,"attempt":1,"tags":["local_data"]} 11:27:06.544 [debug] QUERY OK source="tasks" db=3.8ms idle=1445.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:27:06.546 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=798.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:06.832 [debug] Current batch of media processed. Will check again in 1000ms 11:27:07.833 [debug] Current batch of media processed. Will check again in 1000ms 11:27:08.835 [debug] Current batch of media processed. Will check again in 1000ms 11:27:09.839 [debug] Current batch of media processed. Will check again in 1000ms 11:27:10.840 [debug] Current batch of media processed. Will check again in 1000ms 11:27:11.844 [debug] Current batch of media processed. Will check again in 1000ms 11:27:12.846 [debug] Current batch of media processed. Will check again in 1000ms 11:27:13.847 [debug] Current batch of media processed. Will check again in 1000ms 11:27:14.850 [debug] Current batch of media processed. Will check again in 1000ms 11:27:15.855 [debug] Current batch of media processed. Will check again in 1000ms 11:27:16.857 [debug] Current batch of media processed. Will check again in 1000ms 11:27:17.864 [debug] Current batch of media processed. Will check again in 1000ms 11:27:18.868 [debug] Current batch of media processed. Will check again in 1000ms 11:27:19.869 [debug] Current batch of media processed. Will check again in 1000ms 11:27:20.871 [debug] Current batch of media processed. Will check again in 1000ms 11:27:21.872 [debug] Current batch of media processed. Will check again in 1000ms 11:27:22.874 [debug] Current batch of media processed. Will check again in 1000ms 11:27:23.888 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:27:23.894 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=1020.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:27:23.902 [debug] QUERY OK source="sources" db=3.6ms queue=0.3ms idle=1019.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:23.925 [debug] QUERY OK source="media_items" db=19.5ms queue=1.2ms idle=807.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-28 23:31:06Z], 1] 11:27:23.977 [debug] QUERY OK source="media_items" db=47.7ms queue=0.1ms idle=43.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "991cc844-a118-4197-916b-8fe73f89e9eb", false, "kzq8v4nsrm0", 2840, false, "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:27:23Z], ~U[2026-04-11 23:27:23Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "kzq8v4nsrm0", 2840, false, "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:27:23.979 [debug] QUERY OK source="sources" db=1.0ms queue=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" = ?) [1] 11:27:23.981 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.1ms idle=78.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:27:23.983 [debug] QUERY OK source="media_items" db=0.5ms queue=0.6ms idle=80.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 [1] 11:27:23.984 [debug] Current batch of media processed. Will check again in 1000ms 11:27:24.984 [debug] Current batch of media processed. Will check again in 1000ms 11:27:25.986 [debug] Current batch of media processed. Will check again in 1000ms 11:27:26.988 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:27:26.990 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1891.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:27:26.993 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=1024.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:27.006 [debug] QUERY OK source="media_items" db=12.1ms queue=0.1ms idle=1015.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 18:01:18Z], 1] 11:27:27.019 [debug] QUERY OK source="media_items" db=10.5ms queue=0.2ms idle=29.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "03dd6a74-a649-4f78-9ad4-4f7c9cdec64e", false, "xZzglaCaxIs", 6503, false, "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, 1, [], 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:27:27Z], ~U[2026-04-11 23:27:27Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "xZzglaCaxIs", 6503, false, "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:27:27.022 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms 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" = ?) [1] 11:27:27.026 [debug] QUERY OK source="media_profiles" db=3.4ms queue=0.1ms idle=31.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:27:27.030 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=33.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 [2] 11:27:27.031 [debug] Current batch of media processed. Will check again in 1000ms 11:27:28.032 [debug] Current batch of media processed. Will check again in 1000ms 11:27:29.033 [debug] Current batch of media processed. Will check again in 1000ms 11:27:29.685 [info] {"source":"oban","duration":7775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:30.040 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:27:30.042 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=1044.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:27:30.044 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1039.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:30.056 [debug] QUERY OK source="media_items" db=11.3ms queue=0.1ms idle=360.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 19:28:30Z], 1] 11:27:30.066 [debug] QUERY OK source="media_items" db=7.9ms queue=0.1ms idle=56.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "8603fc90-bbdc-42a8-9e51-07b5b753f300", false, "c8migKrX0yA", 2791, false, "https://www.youtube.com/watch?v=c8migKrX0yA", 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, 1, [], 98, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:27:30Z], ~U[2026-04-11 23:27:30Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "c8migKrX0yA", 2791, false, "https://www.youtube.com/watch?v=c8migKrX0yA", "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, 1, ~U[2025-11-08 19:28:30Z]] 11:27:30.068 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=57.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:30.070 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=26.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:27:30.074 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=27.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 11:27:30.074 [debug] Current batch of media processed. Will check again in 1000ms 11:27:31.080 [debug] Current batch of media processed. Will check again in 1000ms 11:27:32.124 [debug] Current batch of media processed. Will check again in 1000ms 11:27:33.146 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1854, "filename" => "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", "id" => "WQNO2GuY-vc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WQNO2GuY-vc", "playlist_index" => 4, "timestamp" => 1762470131, "title" => "Hasan's TikTok Reposts Are Insane", "upload_date" => "20251106"} 11:27:33.148 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=1001.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:27:33.152 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:33.167 [debug] QUERY OK source="media_items" db=14.1ms queue=0.1ms idle=927.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 23:02:11Z], 1] 11:27:33.176 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=51.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "2636d0ae-e1e6-4d42-992c-37f491fd4d22", false, "WQNO2GuY-vc", 1854, false, "https://www.youtube.com/watch?v=WQNO2GuY-vc", 4, "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, false, 1, [], 98, ~U[2025-11-06 23:02:11Z], ~U[2026-04-11 23:27:33Z], ~U[2026-04-11 23:27:33Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "WQNO2GuY-vc", 1854, false, "https://www.youtube.com/watch?v=WQNO2GuY-vc", "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, 1, ~U[2025-11-06 23:02:11Z]] 11:27:33.178 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=59.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:33.181 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.7ms idle=30.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:27:33.183 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=29.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 [4] 11:27:33.183 [debug] Current batch of media processed. Will check again in 1000ms 11:27:34.187 [debug] Current batch of media processed. Will check again in 1000ms 11:27:35.193 [debug] Current batch of media processed. Will check again in 1000ms 11:27:45.865 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:27:45.866 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:27:45.866 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:27:45.866 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:27:45.866 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:27:45.900 [debug] QUERY OK source="oban_jobs" db=9.2ms decode=0.2ms queue=71.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:27:45.901 [info] Reset 1 executing jobs 11:27:45.905 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:27:48.484 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:27:48.485 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:27:49.272 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:27:49.280 [debug] QUERY OK source="settings" db=1.9ms queue=1.6ms idle=1480.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:49.286 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1488.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:49.287 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:27:49.333 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:27:49.366 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:27:49.372 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:27:49.413 [info] {"args":{},"id":17,"meta":{},"system_time":1775950069411275436,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:27:49.414 [info] Updating yt-dlp 11:27:49.415 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:27:50.348 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775950070347663666,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:27:50.353 [debug] QUERY OK source="sources" db=1.0ms queue=0.6ms idle=943.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:50.358 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=560.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:50.397 [debug] QUERY OK source="media_items" db=25.4ms queue=5.3ms idle=31.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")))) [1] 11:27:50.409 [debug] QUERY OK source="media_items" db=9.7ms queue=1.8ms idle=52.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:27:50.416 [debug] QUERY OK source="media_profiles" db=1.0ms queue=1.1ms idle=66.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:27:50.425 [debug] QUERY OK source="settings" db=0.8ms queue=0.6ms idle=70.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:50.427 [debug] QUERY OK source="settings" db=0.7ms queue=0.6ms idle=67.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:50.433 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:27:50.437 [debug] Current batch of media processed. Will check again in 1000ms 11:27:50.438 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=36.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:50.441 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=29.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:50.442 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=25.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:50.445 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/05/eb/05ebb0b0edd44916fd6d4002f1661510602fb97680f4475c8bccfa0ad71a0a2a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:27:51.438 [debug] Current batch of media processed. Will check again in 1000ms 11:27:52.442 [debug] Current batch of media processed. Will check again in 1000ms 11:27:53.117 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:27:53.119 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:27:53.293 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "7", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:27:53.338 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:27:53.350 [debug] QUERY OK source="media_items" db=6.0ms queue=0.8ms idle=1544.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:27:53.368 [debug] QUERY OK source="media_items" db=14.7ms queue=1.8ms idle=1552.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:27:53.369 [debug] Replied in 32ms 11:27:53.389 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:27:53.397 [debug] QUERY OK source="media_items" db=3.5ms queue=1.2ms idle=1025.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:27:53.410 [debug] QUERY OK source="media_items" db=3.8ms queue=2.9ms idle=52.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:27:53.410 [debug] Replied in 20ms 11:27:53.415 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:27:53.423 [debug] QUERY OK source="tasks" db=4.8ms queue=0.3ms idle=54.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:27:53.428 [debug] QUERY OK source="sources" db=1.7ms queue=1.2ms idle=57.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:53.429 [debug] Replied in 13ms 11:27:53.443 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:27:53.443 [debug] Replied in 255µs 11:27:53.446 [debug] Current batch of media processed. Will check again in 1000ms 11:27:53.463 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:27:53.467 [debug] Replied in 3ms 11:27:54.447 [debug] Current batch of media processed. Will check again in 1000ms 11:27:55.449 [debug] Current batch of media processed. Will check again in 1000ms 11:27:55.951 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:27:55.955 [debug] QUERY OK source="settings" db=3.5ms queue=0.2ms idle=1149.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:55.969 [info] {"args":{},"id":17,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6545022,"event":"job:stop","queue_time":394395,"attempt":1,"tags":["local_data"]} 11:27:55.978 [debug] QUERY OK source="tasks" db=6.5ms queue=0.1ms idle=1169.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:27:55.984 [debug] QUERY OK source="sources" db=4.7ms queue=0.1ms idle=592.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:27:56.451 [debug] Current batch of media processed. Will check again in 1000ms 11:27:57.454 [debug] Current batch of media processed. Will check again in 1000ms 11:27:58.457 [debug] Current batch of media processed. Will check again in 1000ms 11:27:59.460 [debug] Current batch of media processed. Will check again in 1000ms 11:28:00.327 [info] {"source":"oban","duration":3200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:28:00.464 [debug] Current batch of media processed. Will check again in 1000ms 11:28:01.468 [debug] Current batch of media processed. Will check again in 1000ms 11:28:02.470 [debug] Current batch of media processed. Will check again in 1000ms 11:28:03.471 [debug] Current batch of media processed. Will check again in 1000ms 11:28:04.472 [debug] Current batch of media processed. Will check again in 1000ms 11:28:05.474 [debug] Current batch of media processed. Will check again in 1000ms 11:28:06.476 [debug] Current batch of media processed. Will check again in 1000ms 11:28:07.478 [debug] Current batch of media processed. Will check again in 1000ms 11:28:08.481 [debug] Current batch of media processed. Will check again in 1000ms 11:28:09.483 [debug] Current batch of media processed. Will check again in 1000ms 11:28:10.484 [debug] Current batch of media processed. Will check again in 1000ms 11:28:11.485 [debug] Current batch of media processed. Will check again in 1000ms 11:28:12.486 [debug] Current batch of media processed. Will check again in 1000ms 11:28:13.494 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:28:13.499 [debug] QUERY OK source="sources" db=1.8ms queue=0.3ms idle=1680.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:28:13.503 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=1684.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:28:13.519 [debug] QUERY OK source="media_items" db=13.2ms queue=0.9ms idle=1687.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-28 23:31:06Z], 1] 11:28:13.554 [debug] QUERY OK source="media_items" db=29.6ms queue=0.1ms idle=1004.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "214d6247-4649-43ee-9927-8b1de9da1210", "kzq8v4nsrm0", false, 2840, false, "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:28:13Z], ~U[2026-04-11 23:28:13Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "kzq8v4nsrm0", 2840, false, "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:28:13.556 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=51.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:28:13.559 [debug] QUERY OK source="media_profiles" db=2.0ms queue=0.2ms 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] 11:28:13.564 [debug] QUERY OK source="media_items" db=1.3ms queue=0.7ms idle=32.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 [1] 11:28:13.565 [debug] Current batch of media processed. Will check again in 1000ms 11:28:14.568 [debug] Current batch of media processed. Will check again in 1000ms 11:28:15.569 [debug] Current batch of media processed. Will check again in 1000ms 11:28:16.571 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:28:16.574 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1754.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:28:16.576 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1026.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:28:16.591 [debug] QUERY OK source="media_items" db=15.1ms queue=0.1ms idle=1018.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-27 18:01:18Z], 1] 11:28:16.601 [debug] QUERY OK source="media_items" db=6.7ms queue=0.2ms idle=35.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "512511ff-0a08-49bb-ac42-121c86bece3d", "xZzglaCaxIs", false, 6503, false, "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, 1, [], 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:28:16Z], ~U[2026-04-11 23:28:16Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "xZzglaCaxIs", 6503, false, "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:28:16.602 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=35.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:28:16.605 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=30.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:28:16.608 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=30.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 [2] 11:28:16.608 [debug] Current batch of media processed. Will check again in 1000ms 11:28:17.612 [debug] Current batch of media processed. Will check again in 1000ms 11:28:29.269 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:28:29.271 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:28:29.271 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:28:29.271 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:28:29.271 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:28:29.301 [debug] QUERY OK source="oban_jobs" db=9.0ms decode=0.2ms queue=83.5ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:28:29.302 [info] Reset 1 executing jobs 11:28:29.304 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:28:31.995 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:28:31.997 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:28:32.940 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:28:32.953 [debug] QUERY OK source="settings" db=3.9ms queue=2.5ms idle=1758.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:28:32.962 [debug] QUERY OK source="settings" db=1.4ms queue=0.6ms idle=1771.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:28:32.965 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:28:33.018 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:28:33.055 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:28:33.062 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:28:33.105 [info] {"args":{},"id":18,"meta":{},"system_time":1775950113103503841,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:28:33.107 [info] Updating yt-dlp 11:28:33.107 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:28:34.051 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775950114048373145,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:28:34.061 [debug] QUERY OK source="sources" db=2.5ms queue=3.8ms idle=953.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:28:34.067 [debug] QUERY OK source="settings" db=1.9ms queue=0.3ms idle=877.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:28:34.100 [debug] QUERY OK source="media_items" db=20.4ms queue=5.6ms idle=46.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")))) [1] 11:28:34.110 [debug] QUERY OK source="media_items" db=6.6ms queue=1.5ms idle=54.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:28:34.118 [debug] QUERY OK source="media_profiles" db=2.0ms queue=2.6ms idle=58.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:28:34.130 [debug] QUERY OK source="settings" db=1.0ms queue=0.8ms idle=67.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:28:34.133 [debug] QUERY OK source="settings" db=0.9ms queue=1.0ms idle=63.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:28:34.144 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:28:34.146 [debug] Current batch of media processed. Will check again in 1000ms 11:28:34.150 [debug] QUERY OK source="settings" db=3.5ms queue=0.6ms idle=46.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:28:34.154 [debug] QUERY OK source="settings" db=1.2ms queue=2.1ms idle=40.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:28:34.160 [debug] QUERY OK source="settings" db=2.0ms queue=3.2ms idle=36.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:28:34.164 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/7e/1e/7e1eba06040c6d5c02c36ba9a799df21026379cb6c7dcd1ca159b1cbc3298036.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:28:35.150 [debug] Current batch of media processed. Will check again in 1000ms 11:28:36.154 [debug] Current batch of media processed. Will check again in 1000ms 11:28:36.385 [info] CONNECTED TO Phoenix.LiveView.Socket in 3ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "8", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:28:36.455 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:28:36.475 [debug] QUERY OK source="media_items" db=6.8ms queue=3.9ms idle=1274.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:28:36.519 [debug] QUERY OK source="media_items" db=34.0ms queue=3.6ms idle=1292.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:28:36.524 [debug] Replied in 69ms 11:28:36.564 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:28:36.585 [debug] QUERY OK source="media_items" db=8.3ms queue=8.5ms idle=1378.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:28:36.603 [debug] QUERY OK source="media_items" db=8.5ms queue=3.9ms idle=527.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:28:36.606 [debug] Replied in 43ms 11:28:36.614 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:28:36.632 [debug] QUERY OK source="tasks" db=9.3ms queue=0.7ms idle=542.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:28:36.641 [debug] QUERY OK source="sources" db=2.3ms decode=0.4ms queue=1.1ms idle=161.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:28:36.643 [debug] Replied in 29ms 11:28:36.674 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:28:36.674 [debug] Replied in 1ms 11:28:36.702 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:28:36.706 [debug] Replied in 6ms 11:28:37.157 [debug] Current batch of media processed. Will check again in 1000ms 11:28:38.158 [debug] Current batch of media processed. Will check again in 1000ms 11:28:38.578 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:28:38.580 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:28:39.161 [debug] Current batch of media processed. Will check again in 1000ms 11:28:40.167 [debug] Current batch of media processed. Will check again in 1000ms 11:28:41.169 [debug] Current batch of media processed. Will check again in 1000ms 11:28:42.003 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:28:42.010 [debug] QUERY OK source="settings" db=5.7ms queue=0.3ms idle=1811.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:28:42.023 [info] {"args":{},"id":18,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8907214,"event":"job:stop","queue_time":86479,"attempt":1,"tags":["local_data"]} 11:28:42.031 [debug] QUERY OK source="tasks" db=3.4ms queue=1.9ms idle=1834.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:28:42.036 [debug] QUERY OK source="sources" db=3.0ms queue=1.1ms idle=883.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:28:42.173 [debug] Current batch of media processed. Will check again in 1000ms 11:28:43.175 [debug] Current batch of media processed. Will check again in 1000ms 11:28:44.176 [debug] Current batch of media processed. Will check again in 1000ms 11:28:45.178 [debug] Current batch of media processed. Will check again in 1000ms 11:28:46.183 [debug] Current batch of media processed. Will check again in 1000ms 11:28:47.195 [debug] Current batch of media processed. Will check again in 1000ms 11:28:48.196 [debug] Current batch of media processed. Will check again in 1000ms 11:28:49.198 [debug] Current batch of media processed. Will check again in 1000ms 11:28:50.199 [debug] Current batch of media processed. Will check again in 1000ms 11:28:51.201 [debug] Current batch of media processed. Will check again in 1000ms 11:28:52.206 [debug] Current batch of media processed. Will check again in 1000ms 11:28:53.208 [debug] Current batch of media processed. Will check again in 1000ms 11:28:54.215 [debug] Current batch of media processed. Will check again in 1000ms 11:28:55.226 [debug] Current batch of media processed. Will check again in 1000ms 11:28:56.227 [debug] Current batch of media processed. Will check again in 1000ms 11:28:57.236 [debug] Current batch of media processed. Will check again in 1000ms 11:28:58.245 [debug] Current batch of media processed. Will check again in 1000ms 11:28:59.258 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:28:59.264 [debug] QUERY OK source="sources" db=2.7ms queue=0.4ms idle=884.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:28:59.274 [debug] QUERY OK source="sources" db=4.0ms queue=0.3ms idle=885.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:28:59.285 [debug] QUERY OK source="media_items" db=4.9ms queue=3.3ms idle=74.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 23:31:06Z], 1] 11:28:59.340 [debug] QUERY OK source="media_items" db=49.2ms queue=0.1ms idle=88.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "b9e12b2c-3fba-4d1a-810d-c2764a9c3e2d", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:28:59Z], ~U[2026-04-11 23:28:59Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:28:59.343 [debug] QUERY OK source="sources" db=1.2ms queue=0.3ms idle=139.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:28:59.345 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.4ms idle=79.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:28:59.348 [debug] QUERY OK source="media_items" db=0.5ms queue=1.1ms idle=72.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 [1] 11:28:59.350 [debug] Current batch of media processed. Will check again in 1000ms 11:29:00.022 [info] {"source":"oban","duration":5533,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:29:00.352 [debug] Current batch of media processed. Will check again in 1000ms 11:29:01.358 [debug] Current batch of media processed. Will check again in 1000ms 11:29:02.361 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:29:02.366 [debug] QUERY OK source="sources" db=2.7ms queue=0.7ms idle=1153.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:29:02.369 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1159.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:02.408 [debug] QUERY OK source="media_items" db=36.6ms queue=1.5ms idle=1161.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-27 18:01:18Z], 1] 11:29:02.421 [debug] QUERY OK source="media_items" db=8.5ms queue=0.2ms idle=958.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "b1a1609e-bb2b-4692-8203-09fd42732796", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, false, 1, [], 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:29:02Z], ~U[2026-04-11 23:29:02Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:29:02.424 [debug] QUERY OK source="sources" db=1.6ms queue=0.2ms idle=957.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:02.427 [debug] QUERY OK source="media_profiles" db=1.5ms queue=1.0ms idle=58.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:29:02.430 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=59.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 [2] 11:29:02.430 [debug] Current batch of media processed. Will check again in 1000ms 11:29:03.016 [info] {"source":"oban","duration":6318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:03.441 [debug] Current batch of media processed. Will check again in 1000ms 11:29:04.443 [debug] Current batch of media processed. Will check again in 1000ms 11:29:05.448 [debug] Current batch of media processed. Will check again in 1000ms 11:29:06.450 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:29:06.454 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=951.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:29:06.458 [debug] QUERY OK source="sources" db=1.5ms queue=1.5ms idle=944.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:06.474 [debug] QUERY OK source="media_items" db=13.4ms queue=0.7ms idle=242.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-08 19:28:30Z], 1] 11:29:06.485 [debug] QUERY OK source="media_items" db=7.5ms queue=0.1ms idle=258.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "a6a77068-dbef-41a9-9a6c-3c9597821921", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, false, 1, [], 98, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:29:06Z], ~U[2026-04-11 23:29:06Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, 1, ~U[2025-11-08 19:28:30Z]] 11:29:06.488 [debug] QUERY OK source="sources" db=1.6ms queue=0.2ms idle=268.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:06.492 [debug] QUERY OK source="media_profiles" db=1.1ms queue=2.4ms idle=34.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:29:06.497 [debug] QUERY OK source="media_items" db=1.3ms queue=0.9ms idle=36.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 [3] 11:29:06.498 [debug] Current batch of media processed. Will check again in 1000ms 11:29:07.501 [debug] Current batch of media processed. Will check again in 1000ms 11:29:08.505 [debug] Current batch of media processed. Will check again in 1000ms 11:29:09.513 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1854, "filename" => "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", "id" => "WQNO2GuY-vc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WQNO2GuY-vc", "playlist_index" => 4, "timestamp" => 1762470131, "title" => "Hasan's TikTok Reposts Are Insane", "upload_date" => "20251106"} 11:29:09.516 [debug] QUERY OK source="sources" db=1.7ms queue=0.5ms idle=1297.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:29:09.523 [debug] QUERY OK source="sources" db=3.6ms queue=0.2ms idle=1302.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:09.542 [debug] QUERY OK source="media_items" db=16.6ms queue=1.8ms idle=1003.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 23:02:11Z], 1] 11:29:09.556 [debug] QUERY OK source="media_items" db=10.5ms queue=0.1ms idle=1014.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "a4f76dd0-5742-481d-8eec-0bf652c05652", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", 4, "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, false, false, 1, [], 98, ~U[2025-11-06 23:02:11Z], ~U[2026-04-11 23:29:09Z], ~U[2026-04-11 23:29:09Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, 1, ~U[2025-11-06 23:02:11Z]] 11:29:09.560 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=34.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:09.565 [debug] QUERY OK source="media_profiles" db=4.1ms queue=0.1ms idle=18.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:29:09.570 [debug] QUERY OK source="media_items" db=1.9ms queue=0.3ms idle=25.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 [4] 11:29:09.571 [debug] Current batch of media processed. Will check again in 1000ms 11:29:10.573 [debug] Current batch of media processed. Will check again in 1000ms 11:29:21.232 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:29:21.233 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:29:21.233 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:29:21.233 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:29:21.233 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:29:21.264 [debug] QUERY OK source="oban_jobs" db=6.3ms decode=0.2ms queue=67.9ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:29:21.265 [info] Reset 1 executing jobs 11:29:21.268 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:29:23.922 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:29:23.924 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:29:24.680 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:29:24.688 [debug] QUERY OK source="settings" db=3.2ms queue=1.1ms idle=1514.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:24.693 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1523.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:24.695 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:29:24.734 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:29:24.761 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:29:24.767 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:29:24.805 [info] {"args":{},"id":19,"meta":{},"system_time":1775950164804120344,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:29:24.806 [info] Updating yt-dlp 11:29:24.807 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:29:25.780 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775950165779939287,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:29:25.797 [debug] QUERY OK source="sources" db=2.7ms queue=2.6ms idle=989.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:25.803 [debug] QUERY OK source="settings" db=2.0ms queue=0.3ms idle=631.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:25.885 [debug] QUERY OK source="media_items" db=56.7ms queue=10.3ms idle=57.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")))) [1] 11:29:25.889 [debug] QUERY OK source="media_items" db=2.2ms queue=0.6ms idle=110.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:29:25.903 [debug] QUERY OK source="media_profiles" db=1.9ms queue=1.1ms idle=120.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:29:25.918 [debug] QUERY OK source="settings" db=1.0ms queue=0.5ms idle=119.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:25.921 [debug] QUERY OK source="settings" db=1.4ms queue=1.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 [] 11:29:25.932 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:29:25.934 [debug] Current batch of media processed. Will check again in 1000ms 11:29:25.936 [debug] QUERY OK source="settings" db=2.4ms queue=0.2ms idle=48.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:25.940 [debug] QUERY OK source="settings" db=1.4ms queue=0.5ms 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 [] 11:29:25.943 [debug] QUERY OK source="settings" db=0.8ms queue=1.7ms idle=37.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:25.948 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/0b/ec/0bec107101473a960e5eefa98dd180b79e3386a89eda0f8e9c5382a3d524fc1c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:29:26.935 [debug] Current batch of media processed. Will check again in 1000ms 11:29:27.937 [debug] Current batch of media processed. Will check again in 1000ms 11:29:28.313 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "9", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:29:28.366 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:29:28.374 [debug] QUERY OK source="media_items" db=2.6ms queue=1.3ms idle=1196.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:29:28.403 [debug] QUERY OK source="media_items" db=23.4ms queue=4.1ms idle=1202.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:29:28.404 [debug] Replied in 39ms 11:29:28.424 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:29:28.434 [debug] QUERY OK source="media_items" db=5.0ms queue=2.4ms idle=624.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:29:28.448 [debug] QUERY OK source="media_items" db=8.1ms queue=2.6ms idle=628.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:29:28.448 [debug] Replied in 24ms 11:29:28.457 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:29:28.468 [debug] QUERY OK source="tasks" db=8.5ms idle=286.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:29:28.478 [debug] QUERY OK source="sources" db=1.0ms queue=6.3ms idle=97.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:28.479 [debug] Replied in 24ms 11:29:28.508 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:29:28.510 [debug] Replied in 2ms 11:29:28.529 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:29:28.532 [debug] Replied in 3ms 11:29:28.941 [debug] Current batch of media processed. Will check again in 1000ms 11:29:29.590 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:29:29.591 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:29:29.942 [debug] Current batch of media processed. Will check again in 1000ms 11:29:30.944 [debug] Current batch of media processed. Will check again in 1000ms 11:29:31.946 [debug] Current batch of media processed. Will check again in 1000ms 11:29:32.905 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:29:32.909 [debug] QUERY OK source="settings" db=0.9ms queue=2.2ms idle=730.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:32.923 [info] {"args":{},"id":19,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8106487,"event":"job:stop","queue_time":787640,"attempt":1,"tags":["local_data"]} 11:29:32.938 [debug] QUERY OK source="tasks" db=10.4ms queue=0.3ms idle=751.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:29:32.943 [debug] QUERY OK source="sources" db=3.3ms queue=0.1ms idle=69.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:32.947 [debug] Current batch of media processed. Will check again in 1000ms 11:29:33.955 [debug] Current batch of media processed. Will check again in 1000ms 11:29:34.957 [debug] Current batch of media processed. Will check again in 1000ms 11:29:35.961 [debug] Current batch of media processed. Will check again in 1000ms 11:29:36.964 [debug] Current batch of media processed. Will check again in 1000ms 11:29:37.967 [debug] Current batch of media processed. Will check again in 1000ms 11:29:38.969 [debug] Current batch of media processed. Will check again in 1000ms 11:29:39.973 [debug] Current batch of media processed. Will check again in 1000ms 11:29:40.977 [debug] Current batch of media processed. Will check again in 1000ms 11:29:41.978 [debug] Current batch of media processed. Will check again in 1000ms 11:29:42.979 [debug] Current batch of media processed. Will check again in 1000ms 11:29:43.982 [debug] Current batch of media processed. Will check again in 1000ms 11:29:44.983 [debug] Current batch of media processed. Will check again in 1000ms 11:29:45.985 [debug] Current batch of media processed. Will check again in 1000ms 11:29:46.990 [debug] Current batch of media processed. Will check again in 1000ms 11:29:47.993 [debug] Current batch of media processed. Will check again in 1000ms 11:29:48.994 [debug] Current batch of media processed. Will check again in 1000ms 11:29:49.996 [debug] Current batch of media processed. Will check again in 1000ms 11:29:51.028 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:29:51.038 [debug] QUERY OK source="sources" db=3.4ms queue=0.3ms 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 (?)) [1] 11:29:51.053 [debug] QUERY OK source="sources" db=4.1ms queue=0.4ms idle=835.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:51.107 [debug] QUERY OK source="media_items" db=49.6ms queue=1.7ms idle=842.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-28 23:31:06Z], 1] 11:29:51.150 [debug] QUERY OK source="media_items" db=33.2ms queue=0.2ms idle=78.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "010407c0-acfd-4040-a092-e508969a39a5", "kzq8v4nsrm0", false, "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, [], 2840, false, 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:29:51Z], ~U[2026-04-11 23:29:51Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, 2840, false, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, ~U[2025-11-28 23:31:06Z]] 11:29:51.154 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=101.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:51.157 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=102.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:29:51.163 [debug] QUERY OK source="media_items" db=0.8ms queue=1.7ms idle=100.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 [1] 11:29:51.164 [debug] Current batch of media processed. Will check again in 1000ms 11:29:52.173 [debug] Current batch of media processed. Will check again in 1000ms 11:29:53.177 [debug] Current batch of media processed. Will check again in 1000ms 11:29:54.184 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:29:54.192 [debug] QUERY OK source="sources" db=3.4ms queue=0.6ms idle=1107.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:29:54.204 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms idle=1110.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:54.234 [debug] QUERY OK source="media_items" db=27.9ms queue=0.3ms idle=986.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 18:01:18Z], 1] 11:29:54.250 [debug] QUERY OK source="media_items" db=12.7ms queue=0.2ms idle=138.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "924ab3c3-c1b5-43d8-b0c6-7d3c98ce49d4", "xZzglaCaxIs", false, "https://www.youtube.com/watch?v=xZzglaCaxIs", 1, [], 6503, false, 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:29:54Z], ~U[2026-04-11 23:29:54Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 1, 6503, false, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, ~U[2025-11-27 18:01:18Z]] 11:29:54.255 [debug] QUERY OK source="sources" db=3.9ms queue=0.2ms idle=142.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:54.259 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.3ms idle=64.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:29:54.264 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=57.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 [2] 11:29:54.265 [debug] Current batch of media processed. Will check again in 1000ms 11:29:54.746 [info] {"source":"oban","duration":12174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:55.271 [debug] Current batch of media processed. Will check again in 1000ms 11:29:56.274 [debug] Current batch of media processed. Will check again in 1000ms 11:29:57.285 [debug] Current batch of media processed. Will check again in 1000ms 11:29:58.289 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:29:58.296 [debug] QUERY OK source="sources" db=3.7ms queue=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:29:58.306 [debug] QUERY OK source="sources" db=3.4ms queue=1.3ms idle=132.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:58.329 [debug] QUERY OK source="media_items" db=20.2ms queue=0.4ms idle=76.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 19:28:30Z], 1] 11:29:58.341 [debug] QUERY OK source="media_items" db=8.8ms queue=0.2ms idle=99.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "d075d3b7-bbea-4da5-aef2-e4a405acfe21", "c8migKrX0yA", false, "https://www.youtube.com/watch?v=c8migKrX0yA", 1, [], 2791, false, 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, 98, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:29:58Z], ~U[2026-04-11 23:29:58Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", 1, 2791, false, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, ~U[2025-11-08 19:28:30Z]] 11:29:58.345 [debug] QUERY OK source="sources" db=3.8ms queue=0.2ms idle=109.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:29:58.349 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.2ms idle=50.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:29:58.352 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=44.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 [3] 11:29:58.354 [debug] Current batch of media processed. Will check again in 1000ms 11:29:59.359 [debug] Current batch of media processed. Will check again in 1000ms 11:30:00.362 [debug] Current batch of media processed. Will check again in 1000ms 11:30:00.736 [info] {"source":"oban","duration":6596,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:30:01.378 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1854, "filename" => "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", "id" => "WQNO2GuY-vc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WQNO2GuY-vc", "playlist_index" => 4, "timestamp" => 1762470131, "title" => "Hasan's TikTok Reposts Are Insane", "upload_date" => "20251106"} 11:30:01.386 [debug] QUERY OK source="sources" db=4.7ms queue=0.3ms idle=1145.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:30:01.396 [debug] QUERY OK source="sources" db=3.4ms queue=0.3ms idle=1156.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:30:01.430 [debug] QUERY OK source="media_items" db=31.1ms queue=0.4ms idle=662.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 23:02:11Z], 1] 11:30:01.453 [debug] QUERY OK source="media_items" db=20.4ms queue=0.1ms idle=234.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "1514e6a5-fc06-4322-a667-69d08eee3350", "WQNO2GuY-vc", false, "https://www.youtube.com/watch?v=WQNO2GuY-vc", 1, [], 1854, false, 4, "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, false, 98, ~U[2025-11-06 23:02:11Z], ~U[2026-04-11 23:30:01Z], ~U[2026-04-11 23:30:01Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", 1, 1854, false, "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, ~U[2025-11-06 23:02:11Z]] 11:30:01.455 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=246.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:30:01.457 [debug] QUERY OK source="media_profiles" db=1.3ms idle=70.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:30:01.459 [debug] QUERY OK source="media_items" db=0.7ms idle=62.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 [4] 11:30:01.459 [debug] Current batch of media processed. Will check again in 1000ms 11:30:02.460 [debug] Current batch of media processed. Will check again in 1000ms 11:30:14.880 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:30:14.880 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:30:14.880 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:30:14.880 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:30:14.880 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:30:14.913 [debug] QUERY OK source="oban_jobs" db=9.8ms decode=0.2ms queue=74.1ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:30:14.914 [info] Reset 1 executing jobs 11:30:14.916 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:30:17.836 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:30:17.839 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:30:18.751 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:30:18.761 [debug] QUERY OK source="settings" db=2.0ms queue=2.2ms idle=1943.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:18.766 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=1951.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:18.768 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:30:18.819 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:30:18.849 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:30:18.855 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:30:18.913 [info] {"args":{},"id":20,"meta":{},"system_time":1775950218911143623,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:30:18.914 [info] Updating yt-dlp 11:30:18.915 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:30:19.845 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775950219843686253,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:30:19.852 [debug] QUERY OK source="sources" db=1.6ms queue=2.7ms idle=961.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:30:19.856 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=947.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:19.913 [debug] QUERY OK source="media_items" db=41.7ms queue=6.4ms idle=35.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")))) [1] 11:30:19.923 [debug] QUERY OK source="media_items" db=6.4ms queue=1.2ms idle=72.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:30:19.929 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.7ms idle=81.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:30:19.936 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms 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 [] 11:30:19.938 [debug] QUERY OK source="settings" db=0.8ms queue=0.7ms idle=80.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:19.952 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:30:19.955 [debug] Current batch of media processed. Will check again in 1000ms 11:30:19.956 [debug] QUERY OK source="settings" db=1.3ms queue=1.6ms idle=39.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:19.960 [debug] QUERY OK source="settings" db=2.2ms queue=1.5ms idle=33.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:19.966 [debug] QUERY OK source="settings" db=5.1ms queue=0.2ms idle=32.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:19.971 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fa/ad/faadb36615f087b0a3ab58865dbbac2016e8626edb8f0ae95848c106b9e19dd7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:30:20.959 [debug] Current batch of media processed. Will check again in 1000ms 11:30:21.595 [info] CONNECTED TO Phoenix.LiveView.Socket in 3ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "10", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:30:21.707 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:30:21.726 [debug] QUERY OK source="media_items" db=8.0ms queue=5.6ms idle=1755.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:30:21.786 [debug] QUERY OK source="media_items" db=40.2ms queue=12.7ms idle=1771.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:30:21.788 [debug] Replied in 82ms 11:30:21.829 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:30:21.847 [debug] QUERY OK source="media_items" db=10.8ms queue=2.0ms idle=989.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:30:21.898 [debug] QUERY OK source="media_items" db=26.5ms queue=7.5ms idle=137.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:30:21.898 [debug] Replied in 69ms 11:30:21.909 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:30:21.928 [debug] QUERY OK source="tasks" db=13.0ms queue=0.4ms idle=91.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:30:21.935 [debug] QUERY OK source="sources" db=2.4ms queue=1.1ms idle=84.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:30:21.935 [debug] Replied in 26ms 11:30:21.972 [debug] Current batch of media processed. Will check again in 1000ms 11:30:21.978 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:30:21.979 [debug] Replied in 3ms 11:30:22.007 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:30:22.010 [debug] Replied in 3ms 11:30:22.973 [debug] Current batch of media processed. Will check again in 1000ms 11:30:23.976 [debug] Current batch of media processed. Will check again in 1000ms 11:30:24.256 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:30:24.259 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:30:24.978 [debug] Current batch of media processed. Will check again in 1000ms 11:30:25.141 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 139 with: 11:30:25.155 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"\"}","args":{},"id":20,"meta":{},"state":"failure","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6231490,"event":"job:exception","queue_time":895267,"attempt":1,"tags":["local_data"]} 11:30:25.164 [debug] QUERY OK source="tasks" db=5.6ms queue=0.4ms idle=1225.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:30:25.167 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms idle=346.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:30:25.984 [debug] Current batch of media processed. Will check again in 1000ms 11:30:26.985 [debug] Current batch of media processed. Will check again in 1000ms 11:30:27.987 [debug] Current batch of media processed. Will check again in 1000ms 11:30:28.993 [debug] Current batch of media processed. Will check again in 1000ms 11:30:29.997 [debug] Current batch of media processed. Will check again in 1000ms 11:30:30.998 [debug] Current batch of media processed. Will check again in 1000ms 11:30:32.001 [debug] Current batch of media processed. Will check again in 1000ms 11:30:33.006 [debug] Current batch of media processed. Will check again in 1000ms 11:30:34.008 [debug] Current batch of media processed. Will check again in 1000ms 11:30:35.011 [debug] Current batch of media processed. Will check again in 1000ms 11:30:36.022 [debug] Current batch of media processed. Will check again in 1000ms 11:30:37.026 [debug] Current batch of media processed. Will check again in 1000ms 11:30:38.027 [debug] Current batch of media processed. Will check again in 1000ms 11:30:39.033 [debug] Current batch of media processed. Will check again in 1000ms 11:30:40.036 [debug] Current batch of media processed. Will check again in 1000ms 11:30:41.041 [debug] Current batch of media processed. Will check again in 1000ms 11:30:42.045 [debug] Current batch of media processed. Will check again in 1000ms 11:30:43.056 [debug] Current batch of media processed. Will check again in 1000ms 11:30:44.061 [debug] Current batch of media processed. Will check again in 1000ms 11:33:28.096 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:33:28.100 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:33:28.100 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:33:28.100 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:33:28.106 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:33:28.155 [debug] QUERY OK source="oban_jobs" db=30.3ms decode=0.2ms queue=95.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:33:28.156 [info] Reset 1 executing jobs 11:33:28.159 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:33:30.814 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:33:30.815 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:33:31.555 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:33:31.561 [debug] QUERY OK source="settings" db=1.5ms queue=1.1ms idle=1548.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:31.566 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1554.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:31.567 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:33:31.606 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:33:31.635 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:33:31.641 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:33:31.678 [info] {"args":{},"id":21,"meta":{},"system_time":1775950411677164604,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:33:31.680 [info] Updating yt-dlp 11:33:31.680 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:33:32.304 [info] CONNECTED TO Phoenix.LiveView.Socket in 2ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "11", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:33:32.337 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:33:32.368 [debug] QUERY OK source="media_items" db=19.7ms queue=3.8ms idle=783.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:33:32.404 [debug] QUERY OK source="media_items" db=32.5ms queue=1.6ms idle=803.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:33:32.405 [debug] Replied in 68ms 11:33:32.418 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:33:32.430 [debug] QUERY OK source="media_items" db=4.0ms queue=4.3ms idle=768.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:33:32.437 [debug] QUERY OK source="media_items" db=3.9ms queue=1.7ms idle=756.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:33:32.437 [debug] Replied in 19ms 11:33:32.441 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:33:32.453 [debug] QUERY OK source="tasks" db=7.9ms queue=0.1ms idle=434.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:33:32.454 [debug] Replied in 13ms 11:33:32.458 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:33:32.458 [debug] Replied in 1ms 11:33:32.478 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:33:32.479 [debug] Replied in 2ms 11:33:32.623 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775950412622254042,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":18,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:33:32.635 [info] {"args":{},"id":20,"meta":{},"system_time":1775950412634852536,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":2,"tags":["local_data"]} 11:33:32.636 [info] Updating yt-dlp 11:33:32.636 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:33:32.637 [debug] QUERY OK source="tasks" db=11.5ms queue=0.2ms idle=172.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:33:32.644 [debug] QUERY OK source="sources" db=10.5ms queue=3.5ms idle=19.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:33:32.651 [debug] QUERY OK source="settings" db=1.5ms queue=0.2ms idle=18.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:32.658 [debug] QUERY OK source="sources" db=7.7ms queue=1.2ms idle=27.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:33:32.666 [debug] QUERY OK source="media_items" db=8.2ms queue=1.2ms idle=22.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")))) [1] 11:33:32.669 [debug] QUERY OK source="media_items" db=1.3ms queue=0.4ms idle=30.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:33:32.674 [debug] QUERY OK source="media_profiles" db=0.8ms queue=3.1ms idle=26.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:33:32.691 [debug] QUERY OK source="settings" db=3.4ms queue=1.9ms idle=34.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:32.694 [debug] QUERY OK source="settings" db=1.6ms queue=0.6ms idle=25.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:32.698 [debug] QUERY OK source="tasks" db=5.5ms queue=4.5ms idle=29.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:33:32.703 [debug] QUERY OK source="sources" db=3.6ms queue=1.2ms idle=28.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:33:32.706 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:33:32.707 [debug] Current batch of media processed. Will check again in 1000ms 11:33:32.708 [debug] QUERY OK source="settings" db=0.9ms queue=1.2ms idle=31.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:32.710 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=19.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:32.712 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=16.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:32.716 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/dc/b0/dcb0d611c56c1fd864d429f1677fb8c8027711e6be6fab8cdf9d101ad898a7ef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:33:33.709 [debug] Current batch of media processed. Will check again in 1000ms 11:33:34.712 [debug] Current batch of media processed. Will check again in 1000ms 11:33:35.714 [debug] Current batch of media processed. Will check again in 1000ms 11:33:36.715 [debug] Current batch of media processed. Will check again in 1000ms 11:33:37.593 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:33:37.594 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:33:37.716 [debug] Current batch of media processed. Will check again in 1000ms 11:33:38.110 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:33:38.111 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:33:38.717 [debug] Current batch of media processed. Will check again in 1000ms 11:33:39.718 [debug] Current batch of media processed. Will check again in 1000ms 11:33:40.719 [debug] Current batch of media processed. Will check again in 1000ms 11:33:41.420 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:33:41.427 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=1407.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:41.441 [info] {"args":{},"id":20,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8795768,"event":"job:stop","queue_time":169465363,"attempt":2,"tags":["local_data"]} 11:33:41.453 [debug] QUERY OK source="tasks" db=8.9ms queue=0.4ms idle=756.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:33:41.458 [debug] QUERY OK source="sources" db=2.6ms queue=2.1ms idle=438.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:33:41.470 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:33:41.473 [debug] QUERY OK source="settings" db=2.6ms queue=0.2ms idle=44.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:33:41.478 [info] {"args":{},"id":21,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":9796708,"event":"job:stop","queue_time":662406,"attempt":1,"tags":["local_data"]} 11:33:41.483 [debug] QUERY OK source="tasks" db=1.8ms queue=0.8ms idle=27.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:33:41.486 [debug] QUERY OK source="sources" db=0.9ms queue=0.7ms 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" = ?) [1] 11:33:41.723 [debug] Current batch of media processed. Will check again in 1000ms 11:33:42.727 [debug] Current batch of media processed. Will check again in 1000ms 11:33:43.728 [debug] Current batch of media processed. Will check again in 1000ms 11:33:44.730 [debug] Current batch of media processed. Will check again in 1000ms 11:33:45.735 [debug] Current batch of media processed. Will check again in 1000ms 11:33:46.746 [debug] Current batch of media processed. Will check again in 1000ms 11:33:47.747 [debug] Current batch of media processed. Will check again in 1000ms 11:33:48.748 [debug] Current batch of media processed. Will check again in 1000ms 11:33:49.751 [debug] Current batch of media processed. Will check again in 1000ms 11:33:50.759 [debug] Current batch of media processed. Will check again in 1000ms 11:33:51.761 [debug] Current batch of media processed. Will check again in 1000ms 11:33:52.768 [debug] Current batch of media processed. Will check again in 1000ms 11:33:53.775 [debug] Current batch of media processed. Will check again in 1000ms 11:33:54.777 [debug] Current batch of media processed. Will check again in 1000ms 11:33:55.785 [debug] Current batch of media processed. Will check again in 1000ms 11:33:56.790 [debug] Current batch of media processed. Will check again in 1000ms 11:33:57.810 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:33:57.821 [debug] QUERY OK source="sources" db=3.7ms queue=0.4ms idle=1789.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:33:57.829 [debug] QUERY OK source="sources" db=1.2ms queue=0.4ms idle=958.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:33:57.837 [debug] QUERY OK source="media_items" db=4.5ms queue=1.8ms idle=952.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-28 23:31:06Z], 1] 11:33:57.876 [debug] QUERY OK source="media_items" db=33.0ms queue=0.1ms idle=809.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "02a3ca07-fb2d-4753-b7b6-3b2fefe78b9e", false, "kzq8v4nsrm0", 1, [], 2840, false, "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:33:57Z], ~U[2026-04-11 23:33:57Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "kzq8v4nsrm0", 1, 2840, false, "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, ~U[2025-11-28 23:31:06Z]] 11:33:57.879 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=843.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:33:57.882 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.6ms idle=50.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:33:57.887 [debug] QUERY OK source="media_items" db=1.8ms queue=1.5ms idle=47.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 [1] 11:33:57.888 [debug] Current batch of media processed. Will check again in 1000ms 11:33:58.889 [debug] Current batch of media processed. Will check again in 1000ms 11:33:59.894 [debug] Current batch of media processed. Will check again in 1000ms 11:34:00.601 [info] {"source":"oban","duration":3009,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:34:00.898 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:34:00.902 [debug] QUERY OK source="sources" db=2.1ms queue=0.5ms idle=1863.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:34:00.910 [debug] QUERY OK source="sources" db=3.7ms queue=0.7ms idle=1868.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:00.936 [debug] QUERY OK source="media_items" db=23.0ms queue=2.0ms idle=1000.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 18:01:18Z], 1] 11:34:00.950 [debug] QUERY OK source="media_items" db=11.9ms queue=0.1ms idle=35.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "d096022b-1e1a-454f-93c9-a8e424c2677b", false, "xZzglaCaxIs", 1, [], 6503, false, "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:34:00Z], ~U[2026-04-11 23:34:00Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "xZzglaCaxIs", 1, 6503, false, "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, ~U[2025-11-27 18:01:18Z]] 11:34:00.953 [debug] QUERY OK source="sources" db=1.7ms queue=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" = ?) [1] 11:34:00.955 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.5ms idle=34.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:34:00.958 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=20.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 [2] 11:34:00.958 [debug] Current batch of media processed. Will check again in 1000ms 11:34:01.609 [info] {"source":"oban","duration":5559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:01.964 [debug] Current batch of media processed. Will check again in 1000ms 11:34:02.968 [debug] Current batch of media processed. Will check again in 1000ms 11:34:03.972 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:34:03.978 [debug] QUERY OK source="sources" db=3.5ms queue=0.4ms idle=1037.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:34:03.983 [debug] QUERY OK source="sources" db=1.4ms queue=1.7ms idle=1031.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:03.998 [debug] QUERY OK source="media_items" db=14.0ms queue=0.8ms idle=934.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-08 19:28:30Z], 1] 11:34:04.026 [debug] QUERY OK source="media_items" db=25.0ms queue=0.1ms idle=50.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "89c973d7-bd74-4b18-b653-1a1100c6c809", false, "c8migKrX0yA", 1, [], 2791, false, "https://www.youtube.com/watch?v=c8migKrX0yA", 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, 98, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:34:03Z], ~U[2026-04-11 23:34:03Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "c8migKrX0yA", 1, 2791, false, "https://www.youtube.com/watch?v=c8migKrX0yA", "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, ~U[2025-11-08 19:28:30Z]] 11:34:04.028 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:04.030 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.3ms idle=50.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:34:04.033 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=48.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 [3] 11:34:04.033 [debug] Current batch of media processed. Will check again in 1000ms 11:34:05.039 [debug] Current batch of media processed. Will check again in 1000ms 11:34:06.043 [debug] Current batch of media processed. Will check again in 1000ms 11:34:07.050 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1854, "filename" => "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", "id" => "WQNO2GuY-vc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WQNO2GuY-vc", "playlist_index" => 4, "timestamp" => 1762470131, "title" => "Hasan's TikTok Reposts Are Insane", "upload_date" => "20251106"} 11:34:07.059 [debug] QUERY OK source="sources" db=3.5ms queue=0.7ms 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 (?)) [1] 11:34:07.064 [debug] QUERY OK source="sources" db=2.2ms queue=0.6ms idle=1083.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:07.080 [debug] QUERY OK source="media_items" db=14.2ms queue=0.1ms idle=77.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 23:02:11Z], 1] 11:34:07.093 [debug] QUERY OK source="media_items" db=11.7ms queue=0.1ms idle=76.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "503afd40-d633-4e79-92ea-24f1cffbad66", false, "WQNO2GuY-vc", 1, [], 1854, false, "https://www.youtube.com/watch?v=WQNO2GuY-vc", 4, "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, false, 98, ~U[2025-11-06 23:02:11Z], ~U[2026-04-11 23:34:07Z], ~U[2026-04-11 23:34:07Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "WQNO2GuY-vc", 1, 1854, false, "https://www.youtube.com/watch?v=WQNO2GuY-vc", "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, ~U[2025-11-06 23:02:11Z]] 11:34:07.095 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=35.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:07.097 [debug] QUERY OK source="media_profiles" db=0.8ms queue=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] 11:34:07.099 [debug] QUERY OK source="media_items" db=0.8ms idle=34.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 [4] 11:34:07.100 [debug] Current batch of media processed. Will check again in 1000ms 11:34:08.102 [debug] Current batch of media processed. Will check again in 1000ms 11:34:09.112 [debug] Current batch of media processed. Will check again in 1000ms 11:34:10.126 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2938, "filename" => "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", "id" => "4GTO6MDxvyU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4GTO6MDxvyU", "playlist_index" => 5, "timestamp" => 1761942164, "title" => "Ghost Hunting In ‘The Queen Mary’ At 3AM", "upload_date" => "20251031"} 11:34:10.138 [debug] QUERY OK source="sources" db=8.7ms queue=0.6ms idle=1055.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:34:10.141 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=1066.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:10.153 [debug] QUERY OK source="media_items" db=10.9ms queue=0.6ms idle=1068.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 20:22:44Z], 1] 11:34:10.165 [debug] QUERY OK source="media_items" db=9.7ms queue=0.1ms idle=141.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ghost Hunting In ‘The Queen Mary’ At 3AM", "ec0a3c3f-b775-4dd5-be05-c12943e0c7c8", false, "4GTO6MDxvyU", 1, [], 2938, false, "https://www.youtube.com/watch?v=4GTO6MDxvyU", 5, "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", false, false, 98, ~U[2025-10-31 20:22:44Z], ~U[2026-04-11 23:34:10Z], ~U[2026-04-11 23:34:10Z], "H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ghost Hunting In ‘The Queen Mary’ At 3AM", "4GTO6MDxvyU", 1, 2938, false, "https://www.youtube.com/watch?v=4GTO6MDxvyU", "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", false, ~U[2025-10-31 20:22:44Z]] 11:34:10.168 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=143.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:10.170 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.1ms idle=30.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:34:10.173 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=30.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 [5] 11:34:10.173 [debug] Current batch of media processed. Will check again in 1000ms 11:34:11.180 [debug] Current batch of media processed. Will check again in 1000ms 11:34:12.181 [debug] Current batch of media processed. Will check again in 1000ms 11:34:13.190 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3269, "filename" => "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", "id" => "kK1JBB6QCMk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kK1JBB6QCMk", "playlist_index" => 6, "timestamp" => 1761782857, "title" => "twitch has completely lost their minds for this", "upload_date" => "20251030"} 11:34:13.200 [debug] QUERY OK source="sources" db=6.6ms queue=0.7ms 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" IN (?)) [1] 11:34:13.204 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1108.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:13.218 [debug] QUERY OK source="media_items" db=13.4ms queue=0.1ms idle=1098.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 00:07:37Z], 1] 11:34:13.227 [debug] QUERY OK source="media_items" db=7.1ms queue=0.1ms idle=116.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "twitch has completely lost their minds for this", "4386d583-b537-45c0-b439-e1432494a0b9", false, "kK1JBB6QCMk", 1, [], 3269, false, "https://www.youtube.com/watch?v=kK1JBB6QCMk", 6, "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", false, false, 98, ~U[2025-10-30 00:07:37Z], ~U[2026-04-11 23:34:13Z], ~U[2026-04-11 23:34:13Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "twitch has completely lost their minds for this", "kK1JBB6QCMk", 1, 3269, false, "https://www.youtube.com/watch?v=kK1JBB6QCMk", "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", false, ~U[2025-10-30 00:07:37Z]] 11:34:13.229 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=117.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:13.232 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=29.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:34:13.233 [debug] QUERY OK source="media_items" db=0.7ms idle=28.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 [6] 11:34:13.233 [debug] Current batch of media processed. Will check again in 1000ms 11:34:14.235 [debug] Current batch of media processed. Will check again in 1000ms 11:34:15.237 [debug] Current batch of media processed. Will check again in 1000ms 11:34:16.240 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2270, "filename" => "/downloads/H3 Podcast/2025-10-23 The Reason Hasan Fans Are Attacking QT & Ludwig/The Reason Hasan Fans Are Attacking QT & Ludwig [ZJAa-u2dKY4].mp4", "id" => "ZJAa-u2dKY4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZJAa-u2dKY4", "playlist_index" => 7, "timestamp" => 1761262096, "title" => "The Reason Hasan Fans Are Attacking QT & Ludwig", "upload_date" => "20251023"} 11:34:16.241 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1154.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:34:16.244 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=1109.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:16.256 [debug] QUERY OK source="media_items" db=11.7ms queue=0.1ms idle=1099.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 23:28:16Z], 1] 11:34:16.268 [debug] QUERY OK source="media_items" db=9.7ms queue=0.1ms idle=111.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Reason Hasan Fans Are Attacking QT & Ludwig", "3d61a1a7-7851-4e89-8565-1b340d5eb10e", false, "ZJAa-u2dKY4", 1, [], 2270, false, "https://www.youtube.com/watch?v=ZJAa-u2dKY4", 7, "/downloads/H3 Podcast/2025-10-23 The Reason Hasan Fans Are Attacking QT & Ludwig/The Reason Hasan Fans Are Attacking QT & Ludwig [ZJAa-u2dKY4].mp4", false, false, 97, ~U[2025-10-23 23:28:16Z], ~U[2026-04-11 23:34:16Z], ~U[2026-04-11 23:34:16Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Reason Hasan Fans Are Attacking QT & Ludwig", "ZJAa-u2dKY4", 1, 2270, false, "https://www.youtube.com/watch?v=ZJAa-u2dKY4", "/downloads/H3 Podcast/2025-10-23 The Reason Hasan Fans Are Attacking QT & Ludwig/The Reason Hasan Fans Are Attacking QT & Ludwig [ZJAa-u2dKY4].mp4", false, ~U[2025-10-23 23:28:16Z]] 11:34:16.271 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms idle=113.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:16.273 [debug] QUERY OK source="media_profiles" db=1.7ms idle=29.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:34:16.274 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=29.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 [7] 11:34:16.275 [debug] Current batch of media processed. Will check again in 1000ms 11:34:17.280 [debug] Current batch of media processed. Will check again in 1000ms 11:34:18.321 [debug] Current batch of media processed. Will check again in 1000ms 11:34:19.326 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2432, "filename" => "/downloads/H3 Podcast/2025-10-23 The Hasan Collar Situation Keeps Getting\u00A0Worse/The Hasan Collar Situation Keeps Getting\u00A0Worse [P-Jd6C91nP0].mp4", "id" => "P-Jd6C91nP0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=P-Jd6C91nP0", "playlist_index" => 8, "timestamp" => 1761241384, "title" => "The Hasan Collar Situation Keeps Getting\u00A0Worse", "upload_date" => "20251023"} 11:34:19.329 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms idle=1230.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:34:19.334 [debug] QUERY OK source="sources" db=1.6ms queue=0.2ms idle=1155.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:19.353 [debug] QUERY OK source="media_items" db=18.0ms queue=0.1ms idle=1148.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 17:43:04Z], 1] 11:34:19.394 [debug] QUERY OK source="media_items" db=38.3ms queue=0.1ms idle=164.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","media_id","source_id","subtitle_filepaths","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Hasan Collar Situation Keeps Getting\u00A0Worse", "5fb13006-bec7-4c8c-8ff3-7da5b11070ac", false, "P-Jd6C91nP0", 1, [], 2432, false, "https://www.youtube.com/watch?v=P-Jd6C91nP0", 8, "/downloads/H3 Podcast/2025-10-23 The Hasan Collar Situation Keeps Getting\u00A0Worse/The Hasan Collar Situation Keeps Getting\u00A0Worse [P-Jd6C91nP0].mp4", false, false, 97, ~U[2025-10-23 17:43:04Z], ~U[2026-04-11 23:34:19Z], ~U[2026-04-11 23:34:19Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Hasan Collar Situation Keeps Getting\u00A0Worse", "P-Jd6C91nP0", 1, 2432, false, "https://www.youtube.com/watch?v=P-Jd6C91nP0", "/downloads/H3 Podcast/2025-10-23 The Hasan Collar Situation Keeps Getting\u00A0Worse/The Hasan Collar Situation Keeps Getting\u00A0Worse [P-Jd6C91nP0].mp4", false, ~U[2025-10-23 17:43:04Z]] 11:34:19.397 [debug] QUERY OK source="sources" db=1.5ms queue=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" = ?) [1] 11:34:19.398 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=68.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:34:19.400 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=65.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 [8] 11:34:19.401 [debug] Current batch of media processed. Will check again in 1000ms 11:34:20.402 [debug] Current batch of media processed. Will check again in 1000ms 11:34:32.105 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:34:32.109 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:34:32.108 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:34:32.109 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:34:32.109 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:34:32.146 [debug] QUERY OK source="oban_jobs" db=9.5ms decode=0.1ms queue=75.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:34:32.147 [info] Reset 1 executing jobs 11:34:32.151 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:34:34.909 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:34:34.911 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:34:35.677 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:34:35.686 [debug] QUERY OK source="settings" db=1.8ms queue=1.6ms idle=1636.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:34:35.691 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1643.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:34:35.692 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:34:35.733 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:34:35.764 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:34:35.770 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:34:35.805 [info] {"args":{},"id":22,"meta":{},"system_time":1775950475803803582,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:34:35.806 [info] Updating yt-dlp 11:34:35.806 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:34:36.752 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775950476752321204,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":19,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:34:36.760 [debug] QUERY OK source="sources" db=0.8ms queue=1.0ms idle=957.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:36.765 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=718.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:34:36.812 [debug] QUERY OK source="media_items" db=34.3ms queue=5.5ms idle=32.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")))) [1] 11:34:36.817 [debug] QUERY OK source="media_items" db=1.8ms queue=1.7ms idle=61.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:34:36.823 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.7ms idle=65.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:34:36.832 [debug] QUERY OK source="settings" db=0.7ms queue=0.8ms idle=69.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:34:36.833 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=67.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:34:36.843 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:34:36.845 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=30.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:34:36.846 [debug] Current batch of media processed. Will check again in 1000ms 11:34:36.847 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=28.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:34:36.848 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=24.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:34:36.852 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/cc/fd/ccfdf1ba809ee4d0cbb724e682ff48516498277089cae59134cd767cd4af4377.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:34:37.849 [debug] Current batch of media processed. Will check again in 1000ms 11:34:38.851 [debug] Current batch of media processed. Will check again in 1000ms 11:34:39.326 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "12", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:34:39.369 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:34:39.375 [debug] QUERY OK source="media_items" db=1.6ms queue=1.0ms idle=1326.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:34:39.392 [debug] QUERY OK source="media_items" db=12.8ms queue=2.9ms idle=1329.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:34:39.393 [debug] Replied in 25ms 11:34:39.403 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:34:39.408 [debug] QUERY OK source="media_items" db=2.0ms queue=0.8ms idle=641.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:34:39.415 [debug] QUERY OK source="media_items" db=4.5ms queue=1.2ms idle=637.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:34:39.416 [debug] Replied in 13ms 11:34:39.421 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:34:39.433 [debug] QUERY OK source="tasks" db=7.6ms queue=0.3ms idle=378.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:34:39.438 [debug] QUERY OK source="sources" db=0.5ms queue=0.6ms idle=62.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:39.438 [debug] Replied in 17ms 11:34:39.452 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:34:39.452 [debug] Replied in 357µs 11:34:39.467 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:34:39.469 [debug] Replied in 2ms 11:34:39.853 [debug] Current batch of media processed. Will check again in 1000ms 11:34:40.006 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:34:40.007 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:34:40.855 [debug] Current batch of media processed. Will check again in 1000ms 11:34:41.857 [debug] Current batch of media processed. Will check again in 1000ms 11:34:42.743 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:34:42.747 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1697.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:34:42.754 [info] {"args":{},"id":22,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6944661,"event":"job:stop","queue_time":790501,"attempt":1,"tags":["local_data"]} 11:34:42.763 [debug] QUERY OK source="tasks" db=6.6ms idle=1709.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:34:42.769 [debug] QUERY OK source="sources" db=3.4ms queue=1.4ms idle=970.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:42.865 [debug] Current batch of media processed. Will check again in 1000ms 11:34:43.876 [debug] Current batch of media processed. Will check again in 1000ms 11:34:44.879 [debug] Current batch of media processed. Will check again in 1000ms 11:34:45.882 [debug] Current batch of media processed. Will check again in 1000ms 11:34:46.887 [debug] Current batch of media processed. Will check again in 1000ms 11:34:47.888 [debug] Current batch of media processed. Will check again in 1000ms 11:34:48.890 [debug] Current batch of media processed. Will check again in 1000ms 11:34:49.892 [debug] Current batch of media processed. Will check again in 1000ms 11:34:50.897 [debug] Current batch of media processed. Will check again in 1000ms 11:34:51.900 [debug] Current batch of media processed. Will check again in 1000ms 11:34:52.900 [debug] Current batch of media processed. Will check again in 1000ms 11:34:53.901 [debug] Current batch of media processed. Will check again in 1000ms 11:34:54.907 [debug] Current batch of media processed. Will check again in 1000ms 11:34:55.918 [debug] Current batch of media processed. Will check again in 1000ms 11:34:56.919 [debug] Current batch of media processed. Will check again in 1000ms 11:34:57.920 [debug] Current batch of media processed. Will check again in 1000ms 11:34:58.926 [debug] Current batch of media processed. Will check again in 1000ms 11:34:59.949 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:34:59.955 [debug] QUERY OK source="sources" db=3.1ms queue=0.3ms idle=1860.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:34:59.962 [debug] QUERY OK source="sources" db=2.0ms queue=0.3ms idle=1016.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:34:59.978 [debug] QUERY OK source="media_items" db=13.4ms queue=0.8ms idle=1010.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 23:31:06Z], 1] 11:35:00.019 [debug] QUERY OK source="media_items" db=35.5ms queue=0.1ms idle=27.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "459bd75c-e0d5-4777-9546-5d5606a1b65b", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:34:59Z], ~U[2026-04-11 23:34:59Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:35:00.021 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=58.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:00.024 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=60.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:35:00.027 [debug] QUERY OK source="media_items" db=0.6ms queue=0.8ms idle=56.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 [1] 11:35:00.027 [debug] Current batch of media processed. Will check again in 1000ms 11:35:00.731 [info] {"source":"oban","duration":4251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:35:01.031 [debug] Current batch of media processed. Will check again in 1000ms 11:35:02.034 [debug] Current batch of media processed. Will check again in 1000ms 11:35:03.040 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:35:03.048 [debug] QUERY OK source="sources" db=4.0ms queue=0.5ms idle=1060.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:35:03.054 [debug] QUERY OK source="sources" db=2.0ms queue=0.8ms idle=1059.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:03.074 [debug] QUERY OK source="media_items" db=16.2ms queue=1.0ms idle=965.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-27 18:01:18Z], 1] 11:35:03.085 [debug] QUERY OK source="media_items" db=8.3ms queue=0.2ms idle=83.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "2299bd21-42c6-43dc-b887-2883373ae082", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, false, 1, [], 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:35:03Z], ~U[2026-04-11 23:35:03Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:35:03.088 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=78.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:03.090 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=41.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:35:03.092 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=37.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 [2] 11:35:03.093 [debug] Current batch of media processed. Will check again in 1000ms 11:35:04.093 [debug] Current batch of media processed. Will check again in 1000ms 11:35:05.094 [debug] Current batch of media processed. Will check again in 1000ms 11:35:05.745 [info] {"source":"oban","duration":14215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:06.112 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:35:06.119 [debug] QUERY OK source="sources" db=4.6ms queue=0.5ms idle=1021.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:35:06.127 [debug] QUERY OK source="sources" db=2.9ms queue=0.5ms idle=378.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:06.147 [debug] QUERY OK source="media_items" db=16.8ms queue=0.3ms idle=107.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-08 19:28:30Z], 1] 11:35:06.158 [debug] QUERY OK source="media_items" db=8.0ms queue=0.1ms idle=109.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "e2c5983f-ef5c-4d8c-be3e-f3422c931190", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, false, 1, [], 98, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:35:06Z], ~U[2026-04-11 23:35:06Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, 1, ~U[2025-11-08 19:28:30Z]] 11:35:06.160 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms 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" = ?) [1] 11:35:06.162 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.1ms idle=41.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:35:06.164 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=36.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 [3] 11:35:06.164 [debug] Current batch of media processed. Will check again in 1000ms 11:35:07.167 [debug] Current batch of media processed. Will check again in 1000ms 11:35:08.171 [debug] Current batch of media processed. Will check again in 1000ms 11:35:09.176 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1854, "filename" => "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", "id" => "WQNO2GuY-vc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WQNO2GuY-vc", "playlist_index" => 4, "timestamp" => 1762470131, "title" => "Hasan's TikTok Reposts Are Insane", "upload_date" => "20251106"} 11:35:09.183 [debug] QUERY OK source="sources" db=2.0ms queue=0.9ms idle=1078.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:35:09.186 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=1082.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:09.199 [debug] QUERY OK source="media_items" db=12.2ms queue=0.1ms idle=1084.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 23:02:11Z], 1] 11:35:09.211 [debug] QUERY OK source="media_items" db=9.4ms queue=0.1ms idle=154.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "e284f196-609b-4621-8786-aeab6c5d2d74", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", 4, "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, false, false, 1, [], 98, ~U[2025-11-06 23:02:11Z], ~U[2026-04-11 23:35:09Z], ~U[2026-04-11 23:35:09Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, 1, ~U[2025-11-06 23:02:11Z]] 11:35:09.213 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=157.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:09.215 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=30.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:35:09.217 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=29.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 [4] 11:35:09.218 [debug] Current batch of media processed. Will check again in 1000ms 11:35:10.219 [debug] Current batch of media processed. Will check again in 1000ms 11:35:11.282 [debug] Current batch of media processed. Will check again in 1000ms 11:35:12.287 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2938, "filename" => "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", "id" => "4GTO6MDxvyU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4GTO6MDxvyU", "playlist_index" => 5, "timestamp" => 1761942164, "title" => "Ghost Hunting In ‘The Queen Mary’ At 3AM", "upload_date" => "20251031"} 11:35:12.289 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms idle=1169.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:35:12.293 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=1173.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:12.307 [debug] QUERY OK source="media_items" db=12.8ms queue=0.1ms idle=1175.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 20:22:44Z], 1] 11:35:12.317 [debug] QUERY OK source="media_items" db=8.5ms queue=0.1ms idle=239.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ghost Hunting In ‘The Queen Mary’ At 3AM", "5fe0294b-abaa-4aa7-ab3f-3d5c00054e33", 2938, false, "4GTO6MDxvyU", "https://www.youtube.com/watch?v=4GTO6MDxvyU", 5, "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", false, false, false, 1, [], 98, ~U[2025-10-31 20:22:44Z], ~U[2026-04-11 23:35:12Z], ~U[2026-04-11 23:35:12Z], "H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ghost Hunting In ‘The Queen Mary’ At 3AM", 2938, false, "4GTO6MDxvyU", "https://www.youtube.com/watch?v=4GTO6MDxvyU", "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", false, 1, ~U[2025-10-31 20:22:44Z]] 11:35:12.319 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=238.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:12.321 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.3ms idle=30.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:35:12.323 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=29.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5] 11:35:12.323 [debug] Current batch of media processed. Will check again in 1000ms 11:35:13.333 [debug] Current batch of media processed. Will check again in 1000ms 11:35:14.334 [debug] Current batch of media processed. Will check again in 1000ms 11:35:15.344 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3269, "filename" => "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", "id" => "kK1JBB6QCMk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kK1JBB6QCMk", "playlist_index" => 6, "timestamp" => 1761782857, "title" => "twitch has completely lost their minds for this", "upload_date" => "20251030"} 11:35:15.346 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=1210.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:35:15.349 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=1212.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:15.362 [debug] QUERY OK source="media_items" db=12.5ms queue=0.1ms idle=1215.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 00:07:37Z], 1] 11:35:15.373 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=270.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "twitch has completely lost their minds for this", "9aaa70e5-4935-4cd9-8232-ba180645bbc3", 3269, false, "kK1JBB6QCMk", "https://www.youtube.com/watch?v=kK1JBB6QCMk", 6, "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", false, false, false, 1, [], 98, ~U[2025-10-30 00:07:37Z], ~U[2026-04-11 23:35:15Z], ~U[2026-04-11 23:35:15Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "twitch has completely lost their minds for this", 3269, false, "kK1JBB6QCMk", "https://www.youtube.com/watch?v=kK1JBB6QCMk", "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", false, 1, ~U[2025-10-30 00:07:37Z]] 11:35:15.375 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=270.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:15.377 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.6ms idle=30.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:35:15.379 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=29.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 [6] 11:35:15.380 [debug] Current batch of media processed. Will check again in 1000ms 11:35:16.383 [debug] Current batch of media processed. Will check again in 1000ms 11:35:17.386 [debug] Current batch of media processed. Will check again in 1000ms 11:35:28.481 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:35:28.484 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:35:28.481 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:35:28.481 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:35:28.487 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:35:28.522 [debug] QUERY OK source="oban_jobs" db=13.3ms decode=0.2ms queue=67.3ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:35:28.523 [info] Reset 1 executing jobs 11:35:28.527 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:35:31.053 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:35:31.055 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:35:31.843 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:35:31.852 [debug] QUERY OK source="settings" db=2.0ms queue=2.2ms idle=1428.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:35:31.858 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1437.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:35:31.860 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:35:31.897 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:35:31.933 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:35:31.940 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:35:31.997 [info] {"args":{},"id":23,"meta":{},"system_time":1775950531995457989,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:35:31.999 [info] Updating yt-dlp 11:35:31.999 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:35:32.941 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1775950532940959084,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":20,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:35:32.946 [debug] QUERY OK source="sources" db=0.8ms queue=1.0ms idle=953.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:32.951 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=528.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:35:33.011 [debug] QUERY OK source="media_items" db=47.5ms queue=5.3ms idle=27.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")))) [1] 11:35:33.016 [debug] QUERY OK source="media_items" db=1.7ms queue=2.1ms idle=74.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:35:33.023 [debug] QUERY OK source="media_profiles" db=0.9ms queue=2.0ms idle=79.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:35:33.031 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms 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 [] 11:35:33.033 [debug] QUERY OK source="settings" db=0.5ms queue=0.5ms idle=80.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:35:33.040 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:35:33.043 [debug] Current batch of media processed. Will check again in 1000ms 11:35:33.045 [debug] QUERY OK source="settings" db=3.0ms queue=1.2ms idle=29.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:35:33.046 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms 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 [] 11:35:33.048 [debug] QUERY OK source="settings" db=0.5ms queue=0.4ms idle=23.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:35:33.050 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c1/b3/c1b3cf250f1c5300a3291a5d262701f22062ce8c894f67e310529bb2aecb3f13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:35:34.046 [debug] Current batch of media processed. Will check again in 1000ms 11:35:35.047 [debug] Current batch of media processed. Will check again in 1000ms 11:35:35.322 [info] CONNECTED TO Phoenix.LiveView.Socket in 2ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "13", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:35:35.359 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:35:35.368 [debug] QUERY OK source="media_items" db=3.3ms queue=2.3ms idle=941.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:35:35.391 [debug] QUERY OK source="media_items" db=18.9ms queue=1.5ms idle=949.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:35:35.392 [debug] Replied in 33ms 11:35:35.415 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:35:35.425 [debug] QUERY OK source="media_items" db=4.1ms queue=1.8ms idle=997.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:35:35.437 [debug] QUERY OK source="media_items" db=6.8ms queue=2.7ms idle=479.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:35:35.437 [debug] Replied in 22ms 11:35:35.441 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:35:35.452 [debug] QUERY OK source="tasks" db=6.1ms queue=0.1ms idle=488.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:35:35.462 [debug] QUERY OK source="sources" db=1.3ms queue=5.8ms 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" = ?) [1] 11:35:35.463 [debug] Replied in 22ms 11:35:35.479 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:35:35.479 [debug] Replied in 385µs 11:35:35.499 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:35:35.501 [debug] Replied in 3ms 11:35:35.685 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:35:35.686 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:35:36.048 [debug] Current batch of media processed. Will check again in 1000ms 11:35:37.049 [debug] Current batch of media processed. Will check again in 1000ms 11:35:38.055 [debug] Current batch of media processed. Will check again in 1000ms 11:35:38.548 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:35:38.551 [debug] QUERY OK source="settings" db=2.1ms queue=0.2ms idle=1126.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:35:38.561 [info] {"args":{},"id":23,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6556424,"event":"job:stop","queue_time":977004,"attempt":1,"tags":["local_data"]} 11:35:38.573 [debug] QUERY OK source="tasks" db=8.5ms queue=0.1ms idle=586.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:35:38.578 [debug] QUERY OK source="sources" db=4.4ms queue=0.3ms idle=151.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:39.059 [debug] Current batch of media processed. Will check again in 1000ms 11:35:40.068 [debug] Current batch of media processed. Will check again in 1000ms 11:35:41.069 [debug] Current batch of media processed. Will check again in 1000ms 11:35:42.076 [debug] Current batch of media processed. Will check again in 1000ms 11:35:43.079 [debug] Current batch of media processed. Will check again in 1000ms 11:35:44.080 [debug] Current batch of media processed. Will check again in 1000ms 11:35:45.081 [debug] Current batch of media processed. Will check again in 1000ms 11:35:46.082 [debug] Current batch of media processed. Will check again in 1000ms 11:35:47.088 [debug] Current batch of media processed. Will check again in 1000ms 11:35:48.090 [debug] Current batch of media processed. Will check again in 1000ms 11:35:49.091 [debug] Current batch of media processed. Will check again in 1000ms 11:35:50.094 [debug] Current batch of media processed. Will check again in 1000ms 11:35:51.098 [debug] Current batch of media processed. Will check again in 1000ms 11:35:52.102 [debug] Current batch of media processed. Will check again in 1000ms 11:35:53.104 [debug] Current batch of media processed. Will check again in 1000ms 11:35:54.105 [debug] Current batch of media processed. Will check again in 1000ms 11:35:55.106 [debug] Current batch of media processed. Will check again in 1000ms 11:35:56.121 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2840, "filename" => "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", "id" => "kzq8v4nsrm0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzq8v4nsrm0", "playlist_index" => 1, "timestamp" => 1764372666, "title" => "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "upload_date" => "20251128"} 11:35:56.130 [debug] QUERY OK source="sources" db=3.1ms queue=0.6ms idle=1665.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:35:56.140 [debug] QUERY OK source="sources" db=4.7ms queue=0.2ms idle=1674.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:56.146 [debug] QUERY OK source="media_items" db=2.3ms queue=0.7ms idle=1006.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-28 23:31:06Z], 1] 11:35:56.177 [debug] QUERY OK source="media_items" db=23.9ms idle=1006.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", "97eb86d1-8d9a-4624-87e0-2bd9c12d5ccc", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", 1, "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, false, false, 1, [], 98, ~U[2025-11-28 23:31:06Z], ~U[2026-04-11 23:35:56Z], ~U[2026-04-11 23:35:56Z], "Thank you to http://dupe.com/h3 For Sponsoring Today's VOD!\n\nGirl With a Microphone's YouTube: @thegirlwithamicrophone \nGreat Resources & Information regarding the topic available on https://www.chuse8.com/home/en/index.html & https://www.chinarainbow.love/\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone", 2840, false, "kzq8v4nsrm0", "https://www.youtube.com/watch?v=kzq8v4nsrm0", "/downloads/H3 Podcast/2025-11-28 Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone/Hasan Defends China's War Against Gay\u00A0People ft. Girl With a Microphone [kzq8v4nsrm0].mp4", false, 1, ~U[2025-11-28 23:31:06Z]] 11:35:56.179 [debug] QUERY OK source="sources" db=1.5ms queue=0.3ms 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" = ?) [1] 11:35:56.182 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=40.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:35:56.186 [debug] QUERY OK source="media_items" db=0.6ms queue=1.0ms idle=39.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 [1] 11:35:56.187 [debug] Current batch of media processed. Will check again in 1000ms 11:35:57.193 [debug] Current batch of media processed. Will check again in 1000ms 11:35:58.199 [debug] Current batch of media processed. Will check again in 1000ms 11:35:59.206 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 6503, "filename" => "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", "id" => "xZzglaCaxIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZzglaCaxIs", "playlist_index" => 2, "timestamp" => 1764266478, "title" => "You Laugh, You DIE - 2025 Edition", "upload_date" => "20251127"} 11:35:59.213 [debug] QUERY OK source="sources" db=1.6ms queue=0.4ms idle=1737.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:35:59.219 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms idle=1059.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:59.242 [debug] QUERY OK source="media_items" db=22.1ms queue=0.3ms idle=1054.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 18:01:18Z], 1] 11:35:59.256 [debug] QUERY OK source="media_items" db=11.8ms queue=0.1ms idle=75.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", "26dcf16e-4927-4849-b8c7-6046e228271c", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", 2, "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, false, false, 1, [], 98, ~U[2025-11-27 18:01:18Z], ~U[2026-04-11 23:35:59Z], ~U[2026-04-11 23:35:59Z], "Happy thanksgiving everyone!!!\n\nTEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "You Laugh, You DIE - 2025 Edition", 6503, false, "xZzglaCaxIs", "https://www.youtube.com/watch?v=xZzglaCaxIs", "/downloads/H3 Podcast/2025-11-27 You Laugh, You DIE - 2025 Edition/You Laugh, You DIE - 2025 Edition [xZzglaCaxIs].mp4", false, 1, ~U[2025-11-27 18:01:18Z]] 11:35:59.259 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=70.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:35:59.261 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.2ms idle=46.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:35:59.263 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=43.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 [2] 11:35:59.264 [debug] Current batch of media processed. Will check again in 1000ms 11:36:00.266 [debug] Current batch of media processed. Will check again in 1000ms 11:36:00.909 [info] {"source":"oban","duration":3609,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:36:01.273 [debug] Current batch of media processed. Will check again in 1000ms 11:36:01.916 [info] {"source":"oban","duration":7812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:02.276 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2791, "filename" => "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", "id" => "c8migKrX0yA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c8migKrX0yA", "playlist_index" => 3, "timestamp" => 1762630110, "title" => "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "upload_date" => "20251108"} 11:36:02.281 [debug] QUERY OK source="sources" db=2.2ms queue=0.4ms idle=1086.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:36:02.287 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=1082.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:02.307 [debug] QUERY OK source="media_items" db=19.1ms queue=0.2ms idle=371.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 19:28:30Z], 1] 11:36:02.318 [debug] QUERY OK source="media_items" db=8.8ms queue=0.2ms idle=105.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", "e969af58-c335-4bfe-8df9-c4e71ffee90d", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", 3, "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, false, false, 1, [], 98, ~U[2025-11-08 19:28:30Z], ~U[2026-04-11 23:36:02Z], ~U[2026-04-11 23:36:02Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad", 2791, false, "c8migKrX0yA", "https://www.youtube.com/watch?v=c8migKrX0yA", "/downloads/H3 Podcast/2025-11-08 This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad/This $20,000 A.I. House Robot is Dumb\u00A0and\u00A0Bad [c8migKrX0yA].mp4", false, 1, ~U[2025-11-08 19:28:30Z]] 11:36:02.321 [debug] QUERY OK source="sources" db=1.5ms queue=0.3ms idle=104.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:02.323 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.1ms idle=40.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:36:02.325 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=37.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 [3] 11:36:02.325 [debug] Current batch of media processed. Will check again in 1000ms 11:36:03.327 [debug] Current batch of media processed. Will check again in 1000ms 11:36:04.328 [debug] Current batch of media processed. Will check again in 1000ms 11:36:05.330 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 1854, "filename" => "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", "id" => "WQNO2GuY-vc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WQNO2GuY-vc", "playlist_index" => 4, "timestamp" => 1762470131, "title" => "Hasan's TikTok Reposts Are Insane", "upload_date" => "20251106"} 11:36:05.332 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=1839.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:36:05.335 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1026.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:05.351 [debug] QUERY OK source="media_items" db=14.4ms queue=0.1ms idle=1018.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-06 23:02:11Z], 1] 11:36:05.362 [debug] QUERY OK source="media_items" db=8.6ms queue=0.1ms idle=29.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", "d5b016c8-ad5b-4317-8fc7-ce43cd74318b", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", 4, "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, false, false, 1, [], 98, ~U[2025-11-06 23:02:11Z], ~U[2026-04-11 23:36:05Z], ~U[2026-04-11 23:36:05Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Hasan's TikTok Reposts Are Insane", 1854, false, "WQNO2GuY-vc", "https://www.youtube.com/watch?v=WQNO2GuY-vc", "/downloads/H3 Podcast/2025-11-06 Hasan's TikTok Reposts Are Insane/Hasan's TikTok Reposts Are Insane [WQNO2GuY-vc].mp4", false, 1, ~U[2025-11-06 23:02:11Z]] 11:36:05.364 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=30.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:05.366 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.1ms 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", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:36:05.368 [debug] QUERY OK source="media_items" db=0.8ms idle=31.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 [4] 11:36:05.368 [debug] Current batch of media processed. Will check again in 1000ms 11:36:06.375 [debug] Current batch of media processed. Will check again in 1000ms 11:36:07.377 [debug] Current batch of media processed. Will check again in 1000ms 11:36:12.948 [debug] Current batch of media processed. Will check again in 1000ms 11:36:13.959 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2938, "filename" => "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", "id" => "4GTO6MDxvyU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4GTO6MDxvyU", "playlist_index" => 5, "timestamp" => 1761942164, "title" => "Ghost Hunting In ‘The Queen Mary’ At 3AM", "upload_date" => "20251031"} 11:36:13.963 [debug] QUERY OK source="sources" db=2.3ms queue=0.4ms idle=1008.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:36:13.967 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=1013.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:13.979 [debug] QUERY OK source="media_items" db=11.0ms queue=0.2ms idle=1015.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 20:22:44Z], 1] 11:36:13.991 [debug] QUERY OK source="media_items" db=10.1ms queue=0.1ms idle=996.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ghost Hunting In ‘The Queen Mary’ At 3AM", "48061a98-34c4-40a5-b438-b6de0d37fc5e", 2938, false, "4GTO6MDxvyU", "https://www.youtube.com/watch?v=4GTO6MDxvyU", 5, "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", false, false, false, 1, [], 98, ~U[2025-10-31 20:22:44Z], ~U[2026-04-11 23:36:13Z], ~U[2026-04-11 23:36:13Z], "H3 Merch... http://h3h3shop.com\nTEDDY FRESH...http://teddyfresh.com\n\nThank you to the Queen Mary & our tour guides Matthew & Sam!\nMathew's mom's animal rescue: https://www.instagram.com/redoakanimalrescue/\nSam's tattoo account: https://www.instagram.com/bayardbones/\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "Ghost Hunting In ‘The Queen Mary’ At 3AM", 2938, false, "4GTO6MDxvyU", "https://www.youtube.com/watch?v=4GTO6MDxvyU", "/downloads/H3 Podcast/2025-10-31 Ghost Hunting In ‘The Queen Mary’ At 3AM/Ghost Hunting In ‘The Queen Mary’ At 3AM [4GTO6MDxvyU].mp4", false, 1, ~U[2025-10-31 20:22:44Z]] 11:36:13.994 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=28.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:13.996 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.3ms idle=15.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:36:13.999 [debug] QUERY OK source="media_items" db=1.9ms 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 [5] 11:36:14.000 [debug] Current batch of media processed. Will check again in 1000ms 11:36:15.002 [debug] Current batch of media processed. Will check again in 1000ms 11:36:16.042 [debug] Current batch of media processed. Will check again in 1000ms 11:36:17.047 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 3269, "filename" => "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", "id" => "kK1JBB6QCMk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kK1JBB6QCMk", "playlist_index" => 6, "timestamp" => 1761782857, "title" => "twitch has completely lost their minds for this", "upload_date" => "20251030"} 11:36:17.049 [debug] QUERY OK source="sources" db=1.7ms queue=0.2ms idle=1102.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:36:17.053 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=1106.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:17.067 [debug] QUERY OK source="media_items" db=13.8ms idle=1107.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 00:07:37Z], 1] 11:36:17.075 [debug] QUERY OK source="media_items" db=6.4ms idle=18.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "twitch has completely lost their minds for this", "eb99aa60-ca07-4578-8f4d-806b1abc38b7", 3269, false, "kK1JBB6QCMk", "https://www.youtube.com/watch?v=kK1JBB6QCMk", 6, "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", false, false, false, 1, [], 98, ~U[2025-10-30 00:07:37Z], ~U[2026-04-11 23:36:17Z], ~U[2026-04-11 23:36:17Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "twitch has completely lost their minds for this", 3269, false, "kK1JBB6QCMk", "https://www.youtube.com/watch?v=kK1JBB6QCMk", "/downloads/H3 Podcast/2025-10-30 twitch has completely lost their minds for this/twitch has completely lost their minds for this [kK1JBB6QCMk].mp4", false, 1, ~U[2025-10-30 00:07:37Z]] 11:36:17.077 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=23.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:17.079 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=19.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:36:17.081 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=13.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6] 11:36:17.082 [debug] Current batch of media processed. Will check again in 1000ms 11:36:18.083 [debug] Current batch of media processed. Will check again in 1000ms 11:36:19.120 [debug] Current batch of media processed. Will check again in 1000ms 11:36:20.133 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2270, "filename" => "/downloads/H3 Podcast/2025-10-23 The Reason Hasan Fans Are Attacking QT & Ludwig/The Reason Hasan Fans Are Attacking QT & Ludwig [ZJAa-u2dKY4].mp4", "id" => "ZJAa-u2dKY4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZJAa-u2dKY4", "playlist_index" => 7, "timestamp" => 1761262096, "title" => "The Reason Hasan Fans Are Attacking QT & Ludwig", "upload_date" => "20251023"} 11:36:20.135 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=1186.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:36:20.139 [debug] QUERY OK source="sources" db=1.3ms queue=0.5ms idle=1189.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:20.152 [debug] QUERY OK source="media_items" db=12.1ms queue=0.1ms idle=1006.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 23:28:16Z], 1] 11:36:20.159 [debug] QUERY OK source="media_items" db=5.8ms queue=0.1ms idle=1009.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Reason Hasan Fans Are Attacking QT & Ludwig", "0abab697-8623-426e-868c-3be98f58b64a", 2270, false, "ZJAa-u2dKY4", "https://www.youtube.com/watch?v=ZJAa-u2dKY4", 7, "/downloads/H3 Podcast/2025-10-23 The Reason Hasan Fans Are Attacking QT & Ludwig/The Reason Hasan Fans Are Attacking QT & Ludwig [ZJAa-u2dKY4].mp4", false, false, false, 1, [], 97, ~U[2025-10-23 23:28:16Z], ~U[2026-04-11 23:36:20Z], ~U[2026-04-11 23:36:20Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Reason Hasan Fans Are Attacking QT & Ludwig", 2270, false, "ZJAa-u2dKY4", "https://www.youtube.com/watch?v=ZJAa-u2dKY4", "/downloads/H3 Podcast/2025-10-23 The Reason Hasan Fans Are Attacking QT & Ludwig/The Reason Hasan Fans Are Attacking QT & Ludwig [ZJAa-u2dKY4].mp4", false, 1, ~U[2025-10-23 23:28:16Z]] 11:36:20.164 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=22.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:20.167 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.2ms idle=13.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:36:20.169 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=16.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 [7] 11:36:20.169 [debug] Current batch of media processed. Will check again in 1000ms 11:36:21.171 [debug] Current batch of media processed. Will check again in 1000ms 11:36:22.175 [debug] Current batch of media processed. Will check again in 1000ms 11:36:23.177 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "duration" => 2432, "filename" => "/downloads/H3 Podcast/2025-10-23 The Hasan Collar Situation Keeps Getting\u00A0Worse/The Hasan Collar Situation Keeps Getting\u00A0Worse [P-Jd6C91nP0].mp4", "id" => "P-Jd6C91nP0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=P-Jd6C91nP0", "playlist_index" => 8, "timestamp" => 1761241384, "title" => "The Hasan Collar Situation Keeps Getting\u00A0Worse", "upload_date" => "20251023"} 11:36:23.180 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=1228.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 11:36:23.184 [debug] QUERY OK source="sources" db=1.0ms queue=0.4ms idle=1232.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:36:23.197 [debug] QUERY OK source="media_items" db=12.8ms queue=0.1ms idle=1018.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 17:43:04Z], 1] 11:36:23.206 [debug] QUERY OK source="media_items" db=7.1ms queue=0.1ms idle=17.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Hasan Collar Situation Keeps Getting\u00A0Worse", "fafdc6fd-0e72-40a3-a8fe-e2b157f8a009", 2432, false, "P-Jd6C91nP0", "https://www.youtube.com/watch?v=P-Jd6C91nP0", 8, "/downloads/H3 Podcast/2025-10-23 The Hasan Collar Situation Keeps Getting\u00A0Worse/The Hasan Collar Situation Keeps Getting\u00A0Worse [P-Jd6C91nP0].mp4", false, false, false, 1, [], 97, ~U[2025-10-23 17:43:04Z], ~U[2026-04-11 23:36:23Z], ~U[2026-04-11 23:36:23Z], "TEDDY FRESH...http://teddyfresh.com\n\nFollow us on Social Media:\nhttps://twitter.com/theh3podcast\nhttps://www.instagram.com/h3_podcast\nhttp://tiktok.com/@h3_podcast\n\nBusiness contact: tom@h3h3productions.com\n\nFollow Teddy Fresh Social Media:\nhttps://teddyfresh.com\nhttps://instagram.com/teddyfresh\nhttps://twitter.com/teddyfresh", "The Hasan Collar Situation Keeps Getting\u00A0Worse", 2432, false, "P-Jd6C91nP0", "https://www.youtube.com/watch?v=P-Jd6C91nP0", "/downloads/H3 Podcast/2025-10-23 The Hasan Collar Situation Keeps Getting\u00A0Worse/The Hasan Collar Situation Keeps Getting\u00A0Worse [P-Jd6C91nP0].mp4", false, 1, ~U[2025-10-23 17:43:04Z]] 11:36:23.208 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms 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" = ?) [1] 11:36:23.211 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=25.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:36:23.212 [debug] QUERY OK source="media_items" db=0.7ms idle=20.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 [8] 11:36:23.212 [debug] Current batch of media processed. Will check again in 1000ms 11:36:24.219 [debug] Current batch of media processed. Will check again in 1000ms 11:36:35.793 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:36:35.795 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:36:35.797 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:36:35.797 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:36:35.797 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 11:36:35.828 [debug] QUERY OK source="oban_jobs" db=7.1ms decode=0.2ms queue=71.9ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 11:36:35.829 [info] Reset 1 executing jobs 11:36:35.833 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:36:38.578 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:36:38.580 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 11:36:39.434 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 11:36:39.441 [debug] QUERY OK source="settings" db=1.8ms queue=1.3ms idle=1708.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:36:39.446 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=1715.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:36:39.448 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:36:39.488 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 11:36:39.522 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 11:36:39.528 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 11:36:39.573 [info] {"args":{},"id":24,"meta":{},"system_time":1775950599571701230,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 11:36:39.574 [info] Updating yt-dlp 11:36:39.575 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 11:36:43.286 [info] CONNECTED TO Phoenix.LiveView.Socket in 3ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KDAaM1VMHUFmQnRXPwECOnMIBSUlMXMsYFOBa4g03t1nYpIm4e2sr_5t", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "14", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:36:43.320 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 11:36:43.332 [debug] QUERY OK source="media_items" db=2.5ms queue=2.2ms idle=1595.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:36:43.351 [debug] QUERY OK source="media_items" db=16.2ms queue=2.0ms idle=761.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:36:43.353 [debug] Replied in 32ms 11:36:43.369 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 11:36:43.380 [debug] QUERY OK source="media_items" db=4.2ms queue=4.0ms idle=790.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:36:43.386 [debug] QUERY OK source="media_items" db=3.6ms queue=1.0ms idle=797.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:36:43.386 [debug] Replied in 17ms 11:36:43.389 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:36:43.394 [debug] QUERY OK source="tasks" db=2.8ms queue=0.1ms idle=659.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:36:43.394 [debug] Replied in 5ms 11:36:43.397 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 11:36:43.397 [debug] Replied in 387µs 11:36:43.412 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 11:36:43.413 [debug] Replied in 1ms 11:36:43.608 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 11:36:43.609 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 11:36:46.155 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 11:36:46.159 [debug] QUERY OK source="settings" db=2.8ms queue=1.0ms idle=1424.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:36:46.166 [info] {"args":{},"id":24,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6589421,"event":"job:stop","queue_time":552226,"attempt":1,"tags":["local_data"]} 11:36:46.171 [debug] QUERY OK source="tasks" db=1.7ms queue=0.1ms idle=575.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:37:00.499 [info] {"source":"oban","duration":3847,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:37:09.514 [info] {"source":"oban","duration":24399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:39.530 [info] {"source":"oban","duration":14097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.513 [info] {"source":"oban","duration":2215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:38:09.546 [info] {"source":"oban","duration":8527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:39.565 [info] {"source":"oban","duration":16365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.528 [info] {"source":"oban","duration":3231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:39:09.585 [info] {"source":"oban","duration":12289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:39.606 [info] {"source":"oban","duration":14153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.540 [info] {"source":"oban","duration":4781,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:40:09.628 [info] {"source":"oban","duration":14129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:39.646 [info] {"source":"oban","duration":14208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.553 [info] {"source":"oban","duration":4812,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:41:09.660 [info] {"source":"oban","duration":5911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:39.683 [info] {"source":"oban","duration":11678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.563 [info] {"source":"oban","duration":1843,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:42:09.696 [info] {"source":"oban","duration":10620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:39.712 [info] {"source":"oban","duration":4999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.577 [info] {"source":"oban","duration":4773,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:43:09.722 [info] {"source":"oban","duration":6146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:39.742 [info] {"source":"oban","duration":15130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.588 [info] {"source":"oban","duration":4550,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:44:09.759 [info] {"source":"oban","duration":10466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:39.766 [info] {"source":"oban","duration":5003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.592 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:45:09.785 [info] {"source":"oban","duration":15301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:39.803 [info] {"source":"oban","duration":8124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.600 [info] {"source":"oban","duration":5066,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:46:09.823 [info] {"source":"oban","duration":8970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:39.841 [info] {"source":"oban","duration":6620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.607 [info] {"source":"oban","duration":2207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:47:09.865 [info] {"source":"oban","duration":12327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:39.885 [info] {"source":"oban","duration":10075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.614 [info] {"source":"oban","duration":1920,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:48:09.904 [info] {"source":"oban","duration":10980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:39.928 [info] {"source":"oban","duration":11372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.620 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:49:09.947 [info] {"source":"oban","duration":11611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:39.963 [info] {"source":"oban","duration":9338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.626 [info] {"source":"oban","duration":1172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:50:09.979 [info] {"source":"oban","duration":10872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:40.004 [info] {"source":"oban","duration":12409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.633 [info] {"source":"oban","duration":2515,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:51:10.023 [info] {"source":"oban","duration":6249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:40.036 [info] {"source":"oban","duration":9244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.646 [info] {"source":"oban","duration":3879,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:52:10.060 [info] {"source":"oban","duration":20981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:40.070 [info] {"source":"oban","duration":6175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.655 [info] {"source":"oban","duration":3353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:53:10.084 [info] {"source":"oban","duration":11392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:40.102 [info] {"source":"oban","duration":11601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.674 [info] {"source":"oban","duration":7226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:54:10.127 [info] {"source":"oban","duration":18029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:40.149 [info] {"source":"oban","duration":15499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.697 [info] {"source":"oban","duration":7626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:55:10.173 [info] {"source":"oban","duration":19984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:40.184 [info] {"source":"oban","duration":5602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.710 [info] {"source":"oban","duration":5296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:56:10.197 [info] {"source":"oban","duration":10208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:40.212 [info] {"source":"oban","duration":8978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.729 [info] {"source":"oban","duration":3883,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:57:08.876 [info] GET / 11:57:08.890 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:57:08.911 [debug] QUERY OK source="settings" db=13.9ms queue=0.2ms idle=1130.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:08.924 [debug] QUERY OK source="media_profiles" db=10.6ms queue=1.3ms idle=1145.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:57:08.929 [debug] QUERY OK source="sources" db=2.3ms queue=1.8ms idle=973.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:57:08.998 [debug] QUERY OK source="media_items" db=66.3ms queue=1.6ms idle=962.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:09.014 [debug] QUERY OK source="media_items" db=13.6ms queue=0.7ms idle=70.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:09.023 [debug] QUERY OK source="settings" db=1.7ms queue=0.4ms idle=60.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:09.026 [debug] QUERY OK source="settings" db=1.4ms queue=0.2ms idle=53.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:09.034 [debug] QUERY OK source="settings" db=2.1ms queue=0.2ms idle=60.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:09.058 [debug] QUERY OK source="tasks" db=3.8ms queue=2.0ms idle=53.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:57:09.067 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=51.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:09.070 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=45.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:09.075 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=47.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:57:09.078 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=41.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:09.088 [info] Sent 200 in 213ms 11:57:10.238 [info] {"source":"oban","duration":14104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:11.335 [info] GET / 11:57:11.338 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:57:11.346 [debug] QUERY OK source="settings" db=1.5ms queue=0.5ms idle=1106.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:11.350 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.1ms idle=576.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:57:11.352 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=344.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:57:11.353 [debug] QUERY OK source="media_items" db=1.2ms idle=331.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:11.354 [debug] QUERY OK source="media_items" db=0.5ms idle=332.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:11.357 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 11:57:11.358 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:11.360 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 11:57:11.364 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=9.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:57:11.365 [debug] QUERY OK source="media_items" db=0.4ms idle=10.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:11.368 [debug] QUERY OK source="media_items" db=1.6ms idle=9.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:11.370 [debug] QUERY OK source="media_items" db=1.1ms idle=10.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:57:11.373 [debug] QUERY OK source="media_items" db=2.0ms idle=10.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:11.375 [info] Sent 200 in 40ms 11:57:12.199 [info] CONNECTED TO Phoenix.LiveView.Socket in 1ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dAMTYREjNgEjfkZ9V302c2sHLxAoDAky1eAXuha2VJwK3MfJ-JeFk4xP", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:57:12.222 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded"} 11:57:12.226 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=854.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:12.229 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=853.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:12.229 [debug] Replied in 6ms 11:57:12.231 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending"} 11:57:12.233 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=197.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:57:12.237 [debug] QUERY OK source="media_items" db=3.1ms idle=189.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:12.237 [debug] Replied in 5ms 11:57:12.239 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:57:12.240 [debug] QUERY OK source="tasks" db=0.7ms idle=193.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:57:12.241 [debug] Replied in 2ms 11:57:12.242 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:57:12.242 [debug] Replied in 233µs 11:57:24.374 [info] GET /sources 11:57:24.376 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 11:57:24.383 [debug] QUERY OK source="settings" db=1.5ms queue=0.7ms idle=573.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:24.388 [debug] QUERY OK source="settings" db=3.8ms queue=0.6ms idle=576.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:24.392 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=172.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:24.394 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=152.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:24.396 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=153.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:24.434 [debug] QUERY OK source="sources" db=29.3ms queue=4.6ms idle=17.2ms 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)) [] 11:57:24.443 [debug] QUERY OK source="sources" db=3.3ms queue=3.1ms idle=48.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 11:57:24.460 [info] Sent 200 in 86ms 11:57:25.078 [info] CONNECTED TO Phoenix.LiveView.Socket in 618µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LwsQaxUvYUI9VXp9IWo4bx4KBDoVDgdXjmBRqd6qHaKKEZhVXGNlV6v5", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:57:25.104 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 11:57:25.111 [debug] QUERY OK source="sources" db=2.8ms queue=0.4ms idle=716.4ms 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)) [] 11:57:25.118 [debug] QUERY OK source="sources" db=5.1ms queue=0.2ms 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", 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] 11:57:25.119 [debug] Replied in 16ms 11:57:25.124 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:57:25.124 [debug] Replied in 334µs 11:57:26.537 [info] GET /sources/1 11:57:26.539 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 11:57:26.548 [debug] QUERY OK source="sources" db=2.5ms queue=1.6ms idle=1275.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:26.556 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.9ms idle=1285.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:57:26.562 [debug] QUERY OK source="tasks" db=4.1ms queue=0.2ms idle=301.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 11:57:26.564 [debug] QUERY OK source="oban_jobs" db=0.9ms queue=0.1ms idle=297.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 (?,?)) [4, 3] 11:57:26.567 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=298.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:26.568 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=19.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:26.571 [debug] QUERY OK source="settings" db=0.5ms queue=1.2ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:26.586 [debug] QUERY OK source="sources" db=0.6ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:26.590 [debug] QUERY OK source="media_items" db=1.5ms queue=1.0ms idle=23.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 11:57:26.597 [debug] QUERY OK source="media_items" db=3.9ms queue=1.1ms idle=24.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 ? [1, 10, 0] 11:57:26.600 [debug] QUERY OK source="sources" db=1.0ms queue=0.3ms idle=31.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:26.602 [debug] QUERY OK source="media_items" db=0.5ms queue=0.4ms idle=30.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:57:26.604 [debug] QUERY OK source="media_items" db=1.0ms queue=0.3ms idle=17.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 ? [1, 10, 0] 11:57:26.607 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=15.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:26.611 [debug] QUERY OK source="media_items" db=1.2ms queue=1.0ms idle=11.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:57:26.615 [debug] QUERY OK source="media_items" db=1.9ms queue=0.8ms idle=11.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 11:57:26.627 [info] Sent 200 in 90ms 11:57:27.219 [info] CONNECTED TO Phoenix.LiveView.Socket in 496µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Iys7XVQAOQEnXHJBNwEFXzwBOxt3aBoGfMid0Kn2RhCwS1UfzLqM4Pkd", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:57:27.243 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending", "source_id" => 1} 11:57:27.248 [debug] QUERY OK source="sources" db=2.8ms queue=0.7ms idle=642.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:27.255 [debug] QUERY OK source="media_items" db=3.2ms queue=0.2ms idle=646.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")))) [1] 11:57:27.267 [debug] QUERY OK source="media_items" db=9.5ms queue=0.1ms idle=650.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 ? [1, 10, 0] 11:57:27.267 [debug] Replied in 24ms 11:57:27.273 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded", "source_id" => 1} 11:57:27.277 [debug] QUERY OK source="sources" db=3.9ms queue=0.1ms idle=658.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:27.281 [debug] QUERY OK source="media_items" db=2.0ms queue=0.5ms idle=11.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:57:27.283 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=13.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 11:57:27.283 [debug] Replied in 10ms 11:57:27.286 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "other", "source_id" => 1} 11:57:27.287 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=9.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:27.291 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=9.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"))))) [1] 11:57:27.294 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=11.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 ? [1, 10, 0] 11:57:27.295 [debug] Replied in 8ms 11:57:27.300 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:57:27.300 [debug] Replied in 245µs 11:57:40.253 [info] {"source":"oban","duration":10872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:41.798 [info] GET /sources/1/edit 11:57:41.799 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 11:57:41.801 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1217.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:41.804 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.6ms idle=925.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 11:57:41.806 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=212.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:41.807 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=205.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:41.809 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=205.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:41.838 [info] Sent 200 in 40ms 11:57:42.373 [info] CONNECTED TO Phoenix.LiveView.Socket in 725µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LDIbQzcSEwYZW1ZRPAgEfg0aeQImS0IBiTIzSYD5loggX8TGKW3Tes3c", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:57:42.396 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:57:42.396 [debug] Replied in 1ms 11:57:53.276 [info] POST /sources/1 11:57:53.281 [debug] Processing with PinchflatWeb.Sources.SourceController.update/2 Parameters: %{"_csrf_token" => "LDIbQzcSEwYZW1ZRPAgEfg0aeQImS0IBiTIzSYD5loggX8TGKW3Tes3c", "_method" => "patch", "download_cutoff_date_preset" => "", "id" => "1", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "H3 Podcast", "download_cutoff_date" => "2026-04-09", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "180", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/@H3Podcast", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 11:57:53.283 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1372.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:53.288 [debug] QUERY OK source="sources" db=0.8ms idle=424.7ms UPDATE "sources" SET "download_cutoff_date" = ?, "updated_at" = ? WHERE "id" = ? [~D[2026-04-09], ~U[2026-04-11 23:57:53Z], 1] 11:57:53.290 [info] Sent 302 in 14ms 11:57:53.309 [info] GET /sources/1 11:57:53.310 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 11:57:53.314 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=431.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:53.315 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=432.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:57:53.318 [debug] QUERY OK source="tasks" db=1.6ms queue=0.1ms idle=402.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 11:57:53.319 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=35.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 (?,?)) [4, 3] 11:57:53.320 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=32.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:57:53.321 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:57:53.323 [debug] QUERY OK source="settings" db=0.8ms 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 [] 11:57:53.328 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=9.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:53.331 [debug] QUERY OK source="media_items" db=2.1ms idle=9.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")))) [1] 11:57:53.334 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=11.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 ? [1, 10, 0] 11:57:53.336 [debug] QUERY OK source="sources" db=1.1ms idle=14.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:53.338 [debug] QUERY OK source="media_items" db=1.5ms idle=13.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:57:53.340 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=11.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 ? [1, 10, 0] 11:57:53.342 [debug] QUERY OK source="sources" db=0.5ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:53.344 [debug] QUERY OK source="media_items" db=1.2ms idle=8.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"))))) [1] 11:57:53.346 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=7.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 11:57:53.352 [info] Sent 200 in 43ms 11:57:53.469 [info] CONNECTED TO Phoenix.LiveView.Socket in 131µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "HyI_TQh-D2UWdml_CGNmaA8_Mm85CRoUZDmtl5XVcBXIlS6QIrx9z1kv", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:57:53.493 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending", "source_id" => 1} 11:57:53.497 [debug] QUERY OK source="sources" db=1.9ms queue=0.3ms idle=155.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:53.499 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=158.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")))) [1] 11:57:53.502 [debug] QUERY OK source="media_items" db=1.8ms idle=158.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 ? [1, 10, 0] 11:57:53.502 [debug] Replied in 9ms 11:57:53.504 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded", "source_id" => 1} 11:57:53.505 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=160.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:53.508 [debug] QUERY OK source="media_items" db=0.6ms queue=1.3ms idle=159.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:57:53.510 [debug] QUERY OK source="media_items" db=1.9ms idle=11.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 11:57:53.510 [debug] Replied in 6ms 11:57:53.512 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "other", "source_id" => 1} 11:57:53.514 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:57:53.516 [debug] QUERY OK source="media_items" db=1.6ms idle=13.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:57:53.519 [debug] QUERY OK source="media_items" db=2.6ms idle=11.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 ? [1, 10, 0] 11:57:53.520 [debug] Replied in 7ms 11:57:53.524 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:57:53.525 [debug] Replied in 319µs 11:58:00.745 [info] {"source":"oban","duration":3351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:58:08.446 [info] GET / 11:58:08.448 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:58:08.453 [debug] QUERY OK source="settings" db=0.7ms queue=0.6ms idle=1252.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:58:08.454 [debug] QUERY OK source="media_profiles" db=0.5ms idle=501.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:58:08.457 [debug] QUERY OK source="sources" db=2.3ms idle=239.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:58:08.458 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=223.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:58:08.458 [debug] QUERY OK source="media_items" db=0.3ms idle=223.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:58:08.459 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:58:08.460 [debug] QUERY OK source="settings" db=0.6ms 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 [] 11:58:08.462 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 11:58:08.465 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=6.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:58:08.467 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=8.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:58:08.469 [debug] QUERY OK source="media_items" db=1.3ms idle=8.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:58:08.471 [debug] QUERY OK source="media_items" db=1.0ms idle=9.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:58:08.475 [debug] QUERY OK source="media_items" db=1.9ms idle=10.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:58:08.477 [info] Sent 200 in 31ms 11:58:08.605 [info] CONNECTED TO Phoenix.LiveView.Socket in 518µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LxcXSTIMYFgtVXljIlkgSwAnLW4PSEMsjqEpVG7kXaHUFiprFjg8Lp2N", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:58:08.627 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded"} 11:58:08.629 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=162.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:58:08.631 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=162.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:58:08.631 [debug] Replied in 5ms 11:58:08.633 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending"} 11:58:08.635 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=164.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:58:08.639 [debug] QUERY OK source="media_items" db=3.2ms idle=163.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:58:08.639 [debug] Replied in 5ms 11:58:08.640 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:58:08.642 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=166.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:58:08.642 [debug] Replied in 1ms 11:58:08.643 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:58:08.643 [debug] Replied in 212µs 11:58:10.273 [info] {"source":"oban","duration":18930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:11.717 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 11:58:11.728 [debug] QUERY OK source="media_items" db=3.9ms queue=2.1ms idle=1442.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:58:11.736 [debug] QUERY OK source="media_items" db=4.5ms queue=0.5ms idle=1452.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:58:11.737 [debug] Replied in 21ms 11:58:17.353 [info] GET /sources 11:58:17.357 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 11:58:17.366 [debug] QUERY OK source="settings" db=3.2ms queue=0.4ms idle=947.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:58:17.368 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=935.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:58:17.373 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=939.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:58:17.378 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=397.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:58:17.380 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=398.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:58:17.386 [debug] QUERY OK source="sources" db=3.8ms queue=0.1ms idle=16.7ms 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)) [] 11:58:17.394 [debug] QUERY OK source="sources" db=6.0ms queue=0.1ms 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", 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] 11:58:17.400 [info] Sent 200 in 47ms 11:58:17.506 [info] CONNECTED TO Phoenix.LiveView.Socket in 132µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "HAEKT1QzJQM6AHRAD1plUA8EMgQgZytWYgXv0xr0O4Evkj5iIIxRc_Z4", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:58:17.523 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 11:58:17.527 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=138.4ms 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)) [] 11:58:17.532 [debug] QUERY OK source="sources" db=3.8ms queue=0.3ms idle=134.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 11:58:17.532 [debug] Replied in 9ms 11:58:17.537 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:58:17.537 [debug] Replied in 282µs 11:58:19.096 [info] GET /sources/1 11:58:19.099 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 11:58:19.102 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=651.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:58:19.104 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=643.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:58:19.107 [debug] QUERY OK source="tasks" db=0.9ms idle=643.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 11:58:19.108 [debug] QUERY OK source="oban_jobs" db=0.9ms queue=0.1ms idle=125.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 (?,?)) [4, 3] 11:58:19.111 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=127.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:58:19.112 [debug] QUERY OK source="settings" db=0.5ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:58:19.113 [debug] QUERY OK source="settings" db=0.5ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:58:19.119 [debug] QUERY OK source="sources" db=0.4ms idle=12.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:58:19.123 [debug] QUERY OK source="media_items" db=2.4ms idle=11.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 11:58:19.125 [debug] QUERY OK source="media_items" db=1.8ms queue=0.2ms idle=11.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 ? [1, 10, 0] 11:58:19.127 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=14.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:58:19.128 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=13.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:58:19.130 [debug] QUERY OK source="media_items" db=0.9ms idle=9.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 ? [1, 10, 0] 11:58:19.131 [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" = ?) [1] 11:58:19.133 [debug] QUERY OK source="media_items" db=1.3ms idle=6.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:58:19.136 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=6.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 11:58:19.141 [info] Sent 200 in 45ms 11:58:19.278 [info] CONNECTED TO Phoenix.LiveView.Socket in 219µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CQs4TwcGH3o0clR4KmJoTgx6KRcpdjgSLmjvcMHIAFeNNR8wJ7cAjNIp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:58:19.299 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending", "source_id" => 1} 11:58:19.301 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=171.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:58:19.304 [debug] QUERY OK source="media_items" db=1.3ms queue=0.2ms idle=172.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")))) [1] 11:58:19.307 [debug] QUERY OK source="media_items" db=2.7ms idle=173.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 ? [1, 10, 0] 11:58:19.307 [debug] Replied in 8ms 11:58:19.310 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded", "source_id" => 1} 11:58:19.311 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=176.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:58:19.312 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=175.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:58:19.313 [debug] QUERY OK source="media_items" db=1.1ms idle=11.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 ? [1, 10, 0] 11:58:19.314 [debug] Replied in 4ms 11:58:19.315 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "other", "source_id" => 1} 11:58:19.317 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=11.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:58:19.319 [debug] QUERY OK source="media_items" db=1.7ms idle=10.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"))))) [1] 11:58:19.322 [debug] QUERY OK source="media_items" db=2.2ms idle=8.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 11:58:19.323 [debug] Replied in 7ms 11:58:19.328 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:58:19.328 [debug] Replied in 254µs 11:58:38.251 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:38.253 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=1222.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"))))) [1] 11:58:38.257 [debug] QUERY OK source="media_items" db=2.9ms idle=1224.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 ? [1, 10, 10] 11:58:38.258 [debug] Replied in 7ms 11:58:38.967 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:38.971 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=714.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"))))) [1] 11:58:38.976 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=714.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 ? [1, 10, 20] 11:58:38.977 [debug] Replied in 9ms 11:58:39.163 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:39.166 [debug] QUERY OK source="media_items" db=1.6ms queue=0.2ms idle=279.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:58:39.170 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=261.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 ? [1, 10, 30] 11:58:39.171 [debug] Replied in 7ms 11:58:39.330 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:39.334 [debug] QUERY OK source="media_items" db=2.6ms queue=0.3ms idle=425.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"))))) [1] 11:58:39.337 [debug] QUERY OK source="media_items" db=2.0ms queue=0.2ms idle=363.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 40] 11:58:39.338 [debug] Replied in 7ms 11:58:39.462 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:39.464 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=486.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"))))) [1] 11:58:39.469 [debug] QUERY OK source="media_items" db=3.7ms idle=298.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 ? [1, 10, 50] 11:58:39.469 [debug] Replied in 7ms 11:58:39.953 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:39.960 [debug] QUERY OK source="media_items" db=5.0ms queue=0.2ms idle=489.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"))))) [1] 11:58:39.964 [debug] QUERY OK source="media_items" db=2.0ms queue=0.3ms idle=492.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 ? [1, 10, 60] 11:58:39.964 [debug] Replied in 12ms 11:58:40.135 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:40.148 [debug] QUERY OK source="media_items" db=7.6ms queue=2.0ms idle=228.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"))))) [1] 11:58:40.155 [debug] QUERY OK source="media_items" db=3.7ms queue=0.5ms idle=225.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 ? [1, 10, 70] 11:58:40.155 [debug] Replied in 21ms 11:58:40.284 [info] {"source":"oban","duration":8650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:40.503 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:40.519 [debug] QUERY OK source="media_items" db=8.2ms queue=0.4ms idle=550.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"))))) [1] 11:58:40.526 [debug] QUERY OK source="media_items" db=3.3ms queue=0.5ms idle=558.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 ? [1, 10, 80] 11:58:40.526 [debug] Replied in 24ms 11:58:40.650 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:40.663 [debug] QUERY OK source="media_items" db=9.6ms queue=0.7ms idle=505.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"))))) [1] 11:58:40.669 [debug] QUERY OK source="media_items" db=3.5ms queue=0.4ms idle=510.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 90] 11:58:40.670 [debug] Replied in 20ms 11:58:40.781 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:40.794 [debug] QUERY OK source="media_items" db=9.1ms queue=0.4ms idle=500.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"))))) [1] 11:58:40.800 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=277.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 ? [1, 10, 100] 11:58:40.800 [debug] Replied in 19ms 11:58:40.939 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:40.948 [debug] QUERY OK source="media_items" db=7.2ms queue=0.5ms idle=147.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:58:40.954 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=149.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 ? [1, 10, 110] 11:58:40.955 [debug] Replied in 15ms 11:58:41.082 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:41.091 [debug] QUERY OK source="media_items" db=5.8ms queue=0.5ms idle=160.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"))))) [1] 11:58:41.102 [debug] QUERY OK source="media_items" db=8.2ms queue=1.0ms idle=145.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 ? [1, 10, 120] 11:58:41.103 [debug] Replied in 21ms 11:58:41.214 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:41.228 [debug] QUERY OK source="media_items" db=7.5ms queue=0.4ms idle=271.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"))))) [1] 11:58:41.238 [debug] QUERY OK source="media_items" db=7.8ms queue=0.4ms idle=281.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 ? [1, 10, 130] 11:58:41.239 [debug] Replied in 25ms 11:58:41.366 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:41.376 [debug] QUERY OK source="media_items" db=7.2ms queue=0.7ms idle=414.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:58:41.385 [debug] QUERY OK source="media_items" db=6.6ms queue=0.3ms idle=286.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 ? [1, 10, 140] 11:58:41.386 [debug] Replied in 19ms 11:58:41.692 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:41.702 [debug] QUERY OK source="media_items" db=6.7ms queue=1.1ms idle=591.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"))))) [1] 11:58:41.712 [debug] QUERY OK source="media_items" db=8.6ms queue=0.2ms idle=475.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 ? [1, 10, 150] 11:58:41.712 [debug] Replied in 24ms 11:58:41.818 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:41.830 [debug] QUERY OK source="media_items" db=9.3ms queue=0.6ms idle=581.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"))))) [1] 11:58:41.843 [debug] QUERY OK source="media_items" db=10.3ms queue=1.5ms idle=455.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 ? [1, 10, 160] 11:58:41.845 [debug] Replied in 28ms 11:58:42.477 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:58:42.485 [debug] QUERY OK source="media_items" db=5.2ms queue=0.4ms idle=652.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"))))) [1] 11:58:42.499 [debug] QUERY OK source="media_items" db=7.9ms queue=1.6ms idle=646.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 ? [1, 10, 170] 11:58:42.500 [debug] Replied in 23ms 11:59:00.589 [info] GET /sources/1/media/179 11:59:00.590 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "179", "source_id" => "1"} Pipelines: [:browser] 11:59:00.601 [debug] QUERY OK source="media_items" db=8.9ms queue=0.5ms idle=511.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" = ?) [179] 11:59:00.606 [debug] QUERY OK source="sources" db=1.0ms queue=0.6ms 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" = ?) [1] 11:59:00.607 [debug] QUERY OK source="tasks" db=2.1ms queue=1.0ms idle=522.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" [179] 11:59:00.610 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=179.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:59:00.611 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=179.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:59:00.613 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:59:00.618 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 11:59:00.625 [info] Sent 200 in 35ms 11:59:00.750 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:59:01.179 [info] CONNECTED TO Phoenix.LiveView.Socket in 693µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FQ9icTMDOndGTVBOJ1s2XjwSLg4RTysoPi0HWHmD3yaxCkfgz_dXRwZJ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:59:01.205 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:59:01.205 [debug] Replied in 642µs 11:59:07.649 [info] GET /sources/1 11:59:07.650 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 11:59:07.655 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=1080.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:59:07.657 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=1082.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:59:07.659 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=75.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 11:59:07.661 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=59.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 (?,?)) [4, 3] 11:59:07.663 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=60.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:59:07.664 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:59:07.666 [debug] QUERY OK source="settings" db=1.2ms queue=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 [] 11:59:07.671 [debug] QUERY OK source="sources" db=0.4ms idle=11.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:59:07.673 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=11.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")))) [1] 11:59:07.678 [debug] QUERY OK source="media_items" db=3.5ms idle=11.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 ? [1, 10, 0] 11:59:07.680 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=15.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:59:07.681 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=13.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:59:07.682 [debug] QUERY OK source="media_items" db=0.9ms idle=10.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 11:59:07.684 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [1] 11:59:07.686 [debug] QUERY OK source="media_items" db=1.1ms idle=7.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:07.688 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=6.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 ? [1, 10, 0] 11:59:07.694 [info] Sent 200 in 45ms 11:59:07.784 [info] CONNECTED TO Phoenix.LiveView.Socket in 153µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LC8RfzseY1onf1tnBkQEATZ0PCAFahAGiICF_U4iRKjQbtT8p9vvFRad", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:59:07.798 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending", "source_id" => 1} 11:59:07.800 [debug] QUERY OK source="sources" db=0.9ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:59:07.803 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=118.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 11:59:07.806 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=119.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 ? [1, 10, 0] 11:59:07.807 [debug] Replied in 8ms 11:59:07.808 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded", "source_id" => 1} 11:59:07.810 [debug] QUERY OK source="sources" db=1.4ms idle=122.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:59:07.811 [debug] QUERY OK source="media_items" db=0.3ms idle=122.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 11:59:07.813 [debug] QUERY OK source="media_items" db=1.2ms idle=11.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 11:59:07.813 [debug] Replied in 4ms 11:59:07.815 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "other", "source_id" => 1} 11:59:07.817 [debug] QUERY OK source="sources" db=0.6ms queue=1.0ms idle=12.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:59:07.819 [debug] QUERY OK source="media_items" db=1.0ms idle=11.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"))))) [1] 11:59:07.821 [debug] QUERY OK source="media_items" db=2.0ms idle=9.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 ? [1, 10, 0] 11:59:07.822 [debug] Replied in 7ms 11:59:07.826 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 11:59:07.827 [debug] Replied in 268µs 11:59:10.290 [info] {"source":"oban","duration":2307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:11.786 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:11.790 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=1135.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:11.793 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=679.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 10] 11:59:11.794 [debug] Replied in 8ms 11:59:11.922 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:11.925 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=280.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"))))) [1] 11:59:11.929 [debug] QUERY OK source="media_items" db=3.6ms idle=274.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 ? [1, 10, 20] 11:59:11.930 [debug] Replied in 8ms 11:59:12.075 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:12.081 [debug] QUERY OK source="media_items" db=4.1ms queue=0.7ms idle=423.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"))))) [1] 11:59:12.087 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=292.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 ? [1, 10, 30] 11:59:12.088 [debug] Replied in 14ms 11:59:12.227 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:12.229 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=434.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"))))) [1] 11:59:12.232 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=305.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 ? [1, 10, 40] 11:59:12.233 [debug] Replied in 6ms 11:59:12.355 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:12.360 [debug] QUERY OK source="media_items" db=4.4ms queue=0.2ms idle=426.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"))))) [1] 11:59:12.368 [debug] QUERY OK source="media_items" db=5.8ms queue=0.2ms idle=280.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 ? [1, 10, 50] 11:59:12.371 [debug] Replied in 15ms 11:59:12.527 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:12.531 [debug] QUERY OK source="media_items" db=2.7ms queue=0.3ms idle=441.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"))))) [1] 11:59:12.537 [debug] QUERY OK source="media_items" db=3.3ms queue=0.4ms idle=303.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 ? [1, 10, 60] 11:59:12.538 [debug] Replied in 10ms 11:59:12.674 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:12.679 [debug] QUERY OK source="media_items" db=2.9ms queue=0.4ms idle=144.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:12.684 [debug] QUERY OK source="media_items" db=3.7ms queue=0.2ms idle=143.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 ? [1, 10, 70] 11:59:12.684 [debug] Replied in 10ms 11:59:12.822 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:12.825 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=173.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"))))) [1] 11:59:12.831 [debug] QUERY OK source="media_items" db=4.2ms idle=168.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 ? [1, 10, 80] 11:59:12.833 [debug] Replied in 11ms 11:59:12.970 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:12.973 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=310.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"))))) [1] 11:59:12.978 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=296.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 ? [1, 10, 90] 11:59:12.978 [debug] Replied in 8ms 11:59:13.126 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:13.132 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=444.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"))))) [1] 11:59:13.140 [debug] QUERY OK source="media_items" db=5.5ms queue=0.5ms idle=309.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 ? [1, 10, 100] 11:59:13.142 [debug] Replied in 15ms 11:59:13.259 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:13.263 [debug] QUERY OK source="media_items" db=3.4ms queue=0.2ms idle=428.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"))))) [1] 11:59:13.269 [debug] QUERY OK source="media_items" db=4.3ms queue=0.7ms idle=290.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 ? [1, 10, 110] 11:59:13.270 [debug] Replied in 10ms 11:59:13.407 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:13.411 [debug] QUERY OK source="media_items" db=1.8ms queue=0.2ms idle=430.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"))))) [1] 11:59:13.416 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=280.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 120] 11:59:13.417 [debug] Replied in 9ms 11:59:13.558 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:13.562 [debug] QUERY OK source="media_items" db=2.8ms queue=0.3ms idle=419.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"))))) [1] 11:59:13.566 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=299.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 ? [1, 10, 130] 11:59:13.566 [debug] Replied in 8ms 11:59:13.691 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:13.696 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=131.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:13.702 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=132.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 ? [1, 10, 140] 11:59:13.703 [debug] Replied in 12ms 11:59:13.842 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:13.847 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=188.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"))))) [1] 11:59:13.851 [debug] QUERY OK source="media_items" db=3.0ms queue=0.2ms idle=179.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 ? [1, 10, 150] 11:59:13.852 [debug] Replied in 9ms 11:59:13.977 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:13.981 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=310.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:13.985 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=285.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 ? [1, 10, 160] 11:59:13.986 [debug] Replied in 8ms 11:59:14.591 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 11:59:14.594 [debug] QUERY OK source="media_items" db=2.6ms queue=0.3ms idle=889.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:14.600 [debug] QUERY OK source="media_items" db=4.9ms queue=0.1ms idle=748.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 ? [1, 10, 170] 11:59:14.601 [debug] Replied in 11ms 11:59:40.304 [info] {"source":"oban","duration":6509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:40.556 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "F"} 11:59:40.561 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=1309.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:40.589 [debug] QUERY OK source="media_items" db=22.5ms queue=3.4ms idle=309.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"F\""] 11:59:40.593 [debug] QUERY OK source="media_items" db=1.3ms queue=1.3ms idle=323.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"F\"", 10, 0] 11:59:40.593 [debug] Replied in 37ms 11:59:40.777 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Fa"} 11:59:40.780 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=509.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"))))) [1] 11:59:40.784 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=477.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Fa\""] 11:59:40.789 [debug] QUERY OK source="media_items" db=4.2ms queue=0.2ms idle=223.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Fa\"", 10, 0] 11:59:40.789 [debug] Replied in 13ms 11:59:41.080 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Fam"} 11:59:41.083 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=492.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:41.351 [debug] QUERY OK source="media_items" db=266.5ms queue=0.1ms idle=491.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Fam\""] 11:59:41.361 [debug] QUERY OK source="media_items" db=7.3ms queue=1.4ms idle=268.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Fam\"", 10, 0] 11:59:41.361 [debug] Replied in 281ms 11:59:42.461 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Famil"} 11:59:42.470 [debug] QUERY OK source="media_items" db=4.4ms queue=1.2ms idle=1106.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"))))) [1] 11:59:42.514 [debug] QUERY OK source="media_items" db=39.5ms queue=1.4ms idle=1111.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Famil\""] 11:59:42.522 [debug] QUERY OK source="media_items" db=6.4ms queue=0.3ms idle=249.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Famil\"", 10, 0] 11:59:42.522 [debug] Replied in 62ms 11:59:52.794 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Family"} 11:59:52.805 [debug] QUERY OK source="media_items" db=5.6ms queue=2.6ms idle=547.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:52.815 [debug] QUERY OK source="media_items" db=4.3ms queue=0.2ms idle=561.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Family\""] 11:59:52.821 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=353.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Family\"", 10, 0] 11:59:52.821 [debug] Replied in 28ms 11:59:53.057 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Family "} 11:59:53.066 [debug] QUERY OK source="media_items" db=5.0ms queue=0.4ms idle=576.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"))))) [1] 11:59:53.077 [debug] QUERY OK source="media_items" db=7.7ms queue=0.4ms idle=583.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Family\""] 11:59:53.090 [debug] QUERY OK source="media_items" db=10.5ms queue=0.9ms idle=274.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Family\"", 10, 0] 11:59:53.091 [debug] Replied in 35ms 11:59:53.283 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Family c"} 11:59:53.293 [debug] QUERY OK source="media_items" db=5.3ms queue=0.5ms idle=472.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"))))) [1] 11:59:53.303 [debug] QUERY OK source="media_items" db=6.9ms queue=0.3ms idle=474.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Family\" \"c\""] 11:59:53.315 [debug] QUERY OK source="media_items" db=8.9ms queue=0.3ms idle=239.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Family\" \"c\"", 10, 0] 11:59:53.316 [debug] Replied in 33ms 11:59:53.545 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Family ch"} 11:59:53.552 [debug] QUERY OK source="media_items" db=4.0ms queue=0.5ms idle=245.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"))))) [1] 11:59:53.561 [debug] QUERY OK source="media_items" db=7.5ms queue=0.3ms idle=238.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Family\" \"ch\""] 11:59:53.568 [debug] QUERY OK source="media_items" db=5.0ms queue=0.5ms idle=91.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Family\" \"ch\"", 10, 0] 11:59:53.569 [debug] Replied in 23ms 11:59:53.833 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Family cha"} 11:59:53.839 [debug] QUERY OK source="media_items" db=3.5ms queue=0.4ms idle=345.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:53.862 [debug] QUERY OK source="media_items" db=19.7ms queue=0.9ms idle=350.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Family\" \"cha\""] 11:59:53.866 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=311.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Family\" \"cha\"", 10, 0] 11:59:53.866 [debug] Replied in 33ms 11:59:54.602 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Family chann"} 11:59:54.616 [debug] QUERY OK source="media_items" db=7.3ms queue=0.8ms idle=745.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:54.626 [debug] QUERY OK source="media_items" db=5.6ms queue=0.4ms idle=753.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Family\" \"chann\""] 11:59:54.632 [debug] QUERY OK source="media_items" db=4.9ms queue=0.4ms idle=126.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Family\" \"chann\"", 10, 0] 11:59:54.632 [debug] Replied in 31ms 11:59:54.878 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Family channe"} 11:59:54.889 [debug] QUERY OK source="media_items" db=5.8ms queue=0.9ms idle=360.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"))))) [1] 11:59:54.897 [debug] QUERY OK source="media_items" db=3.8ms queue=0.5ms idle=370.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Family\" \"channe\""] 11:59:54.903 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=282.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Family\" \"channe\"", 10, 0] 11:59:54.903 [debug] Replied in 26ms 11:59:55.267 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"_target" => ["q"], "q" => "Family channel"} 11:59:55.282 [debug] QUERY OK source="media_items" db=7.9ms queue=0.8ms idle=647.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 11:59:55.287 [debug] QUERY OK source="media_items" db=3.8ms queue=0.2ms idle=651.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Family\" \"channel\""] 11:59:55.291 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=399.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Family\" \"channel\"", 10, 0] 11:59:55.292 [debug] Replied in 25ms 11:59:55.985 [debug] HANDLE EVENT "search_term" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"q" => "Family channel"} 11:59:56.002 [debug] QUERY OK source="media_items" db=10.1ms queue=0.9ms idle=703.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"))))) [1] 11:59:56.007 [debug] QUERY OK source="media_items" db=3.3ms queue=0.3ms idle=711.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) [1, "\"Family\" \"channel\""] 11:59:56.011 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=499.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" INNER JOIN "media_items_search_index" AS m3 ON m3."rowid" = m0."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"))))) AND (media_items_search_index MATCH ?) ORDER BY rank DESC, m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, "\"Family\" \"channel\"", 10, 0] 11:59:56.012 [debug] Replied in 28ms 12:00:00.761 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:00:10.319 [info] {"source":"oban","duration":10420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:33.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 2ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LC8RfzseY1onf1tnBkQEATZ0PCAFahAGiICF_U4iRKjQbtT8p9vvFRad", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:00:33.650 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending", "source_id" => 1} 12:00:33.653 [debug] QUERY OK source="sources" db=1.7ms queue=0.3ms idle=1232.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:33.656 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=326.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 12:00:33.659 [debug] QUERY OK source="media_items" db=2.1ms idle=316.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 ? [1, 10, 0] 12:00:33.659 [debug] Replied in 9ms 12:00:33.661 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded", "source_id" => 1} 12:00:33.663 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=320.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:33.665 [debug] QUERY OK source="media_items" db=0.7ms idle=240.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 12:00:33.667 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=12.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:00:33.667 [debug] Replied in 5ms 12:00:33.669 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "other", "source_id" => 1} 12:00:33.671 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=13.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:33.673 [debug] QUERY OK source="media_items" db=1.2ms idle=12.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"))))) [1] 12:00:33.676 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=9.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:00:33.677 [debug] Replied in 7ms 12:00:33.682 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 12:00:33.682 [debug] Replied in 298µs 12:00:33.705 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 12:00:33.705 [debug] Replied in 333µs 12:00:37.973 [info] GET /sources 12:00:37.978 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 12:00:37.990 [debug] QUERY OK source="settings" db=3.6ms queue=0.9ms idle=570.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:00:37.992 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=560.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:00:37.994 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=561.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:00:37.996 [debug] QUERY OK source="settings" db=0.3ms idle=562.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:00:37.997 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=563.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:00:38.002 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=8.9ms 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)) [] 12:00:38.007 [debug] QUERY OK source="sources" db=3.7ms queue=0.1ms 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", 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] 12:00:38.013 [info] Sent 200 in 40ms 12:00:38.168 [info] CONNECTED TO Phoenix.LiveView.Socket in 504µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "IB8XUQ4vY0sZUkNnMloqVzwkLSEXCx4veyEhjd4xlfrQVjznzigwT3oM", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:00:38.191 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 12:00:38.196 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=199.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 12:00:38.201 [debug] QUERY OK source="sources" db=3.7ms queue=0.1ms idle=200.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 12:00:38.201 [debug] Replied in 11ms 12:00:38.206 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 12:00:38.206 [debug] Replied in 345µs 12:00:39.388 [info] GET /sources/1 12:00:39.390 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 12:00:39.394 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=1196.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:39.396 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=1193.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:00:39.398 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=965.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 12:00:39.399 [debug] QUERY OK source="oban_jobs" db=1.0ms queue=0.1ms idle=948.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 (?,?)) [4, 3] 12:00:39.401 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=950.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:00:39.402 [debug] QUERY OK source="settings" db=0.3ms 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:00:39.404 [debug] QUERY OK source="settings" db=1.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:00:39.409 [debug] QUERY OK source="sources" db=0.4ms idle=10.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:39.411 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=10.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 12:00:39.414 [debug] QUERY OK source="media_items" db=1.6ms queue=0.2ms idle=10.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 ? [1, 10, 0] 12:00:39.415 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=12.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:39.416 [debug] QUERY OK source="media_items" db=0.4ms idle=11.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 12:00:39.418 [debug] QUERY OK source="media_items" db=1.0ms idle=7.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:00:39.420 [debug] QUERY OK source="sources" db=1.1ms 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" = ?) [1] 12:00:39.422 [debug] QUERY OK source="media_items" db=1.8ms idle=6.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 12:00:39.425 [debug] QUERY OK source="media_items" db=2.6ms idle=7.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 ? [1, 10, 0] 12:00:39.431 [info] Sent 200 in 42ms 12:00:39.542 [info] CONNECTED TO Phoenix.LiveView.Socket in 125µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KhFlCAN5EERYQABaIHo5C3cmHw8XTBQtow71g2Gw-t1lDJi21kUYTteO", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:00:39.559 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending", "source_id" => 1} 12:00:39.560 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=136.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:39.562 [debug] QUERY OK source="media_items" db=1.1ms idle=135.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 12:00:39.564 [debug] QUERY OK source="media_items" db=1.7ms idle=125.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 ? [1, 10, 0] 12:00:39.564 [debug] Replied in 5ms 12:00:39.566 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded", "source_id" => 1} 12:00:39.567 [debug] QUERY OK source="sources" db=0.5ms idle=120.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:39.568 [debug] QUERY OK source="media_items" db=0.3ms idle=121.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 12:00:39.569 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 ? [1, 10, 0] 12:00:39.569 [debug] Replied in 3ms 12:00:39.571 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "other", "source_id" => 1} 12:00:39.573 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:39.575 [debug] QUERY OK source="media_items" db=1.5ms idle=9.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"))))) [1] 12:00:39.577 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=8.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:00:39.577 [debug] Replied in 6ms 12:00:39.582 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 12:00:39.582 [debug] Replied in 231µs 12:00:40.342 [info] {"source":"oban","duration":15285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:40.566 [info] GET /sources/1/edit 12:00:40.568 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 12:00:40.574 [debug] QUERY OK source="sources" db=2.2ms queue=0.3ms idle=993.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:00:40.577 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=235.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:00:40.579 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=119.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:00:40.579 [debug] QUERY OK source="settings" db=0.3ms idle=106.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:00:40.581 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:00:40.592 [info] Sent 200 in 26ms 12:00:40.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 435µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ETcVDiU8GGQDeEQCAUoRSRA4egAnTTwBTQG7AwOWvLu4ezApVu0VduMc", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:00:40.738 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 12:00:40.739 [debug] Replied in 656µs 12:01:00.770 [info] {"source":"oban","duration":3482,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:01:10.367 [info] {"source":"oban","duration":12071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:21.536 [info] GET / 12:01:21.538 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:01:21.548 [debug] QUERY OK source="settings" db=5.7ms queue=0.3ms idle=1124.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:01:21.551 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.2ms idle=986.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:01:21.554 [debug] QUERY OK source="sources" db=1.2ms queue=0.3ms idle=137.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:01:21.554 [debug] QUERY OK source="media_items" db=0.4ms idle=114.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:01:21.555 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=112.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:01:21.557 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:01:21.558 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:01:21.560 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:01:21.563 [debug] QUERY OK source="tasks" db=0.8ms idle=7.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:01:21.565 [debug] QUERY OK source="media_items" db=0.3ms idle=8.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:01:21.566 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=8.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:01:21.569 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=9.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 12:01:21.572 [debug] QUERY OK source="media_items" db=3.1ms idle=9.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:01:21.575 [info] Sent 200 in 38ms 12:01:21.696 [info] CONNECTED TO Phoenix.LiveView.Socket in 526µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "PQMgYQc_JGMcWQgAVXk5XRA5HhFwaEIQxerXctsPim961IidVtTG3P3r", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:01:21.719 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded"} 12:01:21.723 [debug] QUERY OK source="media_items" db=1.3ms queue=0.3ms idle=158.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:01:21.727 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=159.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:01:21.728 [debug] Replied in 8ms 12:01:21.730 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending"} 12:01:21.732 [debug] QUERY OK source="media_items" db=1.0ms idle=164.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 12:01:21.735 [debug] QUERY OK source="media_items" db=1.9ms idle=163.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:01:21.735 [debug] Replied in 4ms 12:01:21.736 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 12:01:21.738 [debug] QUERY OK source="tasks" db=0.7ms idle=164.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:01:21.738 [debug] Replied in 1ms 12:01:21.739 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 12:01:21.739 [debug] Replied in 193µs 12:01:40.375 [info] {"source":"oban","duration":2924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.781 [info] {"source":"oban","duration":2562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:02:10.395 [info] {"source":"oban","duration":12238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:40.409 [info] {"source":"oban","duration":3490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.795 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:03:10.421 [info] {"source":"oban","duration":10257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:40.443 [info] {"source":"oban","duration":15139,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.810 [info] {"source":"oban","duration":4099,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:04:10.456 [info] {"source":"oban","duration":7869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:40.477 [info] {"source":"oban","duration":13310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.831 [info] {"source":"oban","duration":5305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:05:10.489 [info] {"source":"oban","duration":5273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:40.503 [info] {"source":"oban","duration":2775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.835 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:06:10.517 [info] {"source":"oban","duration":2854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:40.520 [info] {"source":"oban","duration":2522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.846 [info] {"source":"oban","duration":2891,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:07:10.529 [info] {"source":"oban","duration":4955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:40.542 [info] {"source":"oban","duration":2739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.850 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:08:10.555 [info] {"source":"oban","duration":10537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:40.579 [info] {"source":"oban","duration":18264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:48.464 [info] CONNECTED TO Phoenix.LiveView.Socket in 636µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "PQMgYQc_JGMcWQgAVXk5XRA5HhFwaEIQxerXctsPim961IidVtTG3P3r", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:08:48.495 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "downloaded"} 12:08:48.497 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=471.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:08:48.500 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=473.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:08:48.500 [debug] Replied in 6ms 12:08:48.504 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb", "media_state" => "pending"} 12:08:48.507 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=266.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 12:08:48.509 [debug] QUERY OK source="media_items" db=2.1ms idle=262.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:08:48.510 [debug] Replied in 6ms 12:08:48.511 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 12:08:48.513 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=266.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:08:48.513 [debug] Replied in 2ms 12:08:48.515 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "EfR9dKW3u416d0P9FMJVC8qb"} 12:08:48.516 [debug] Replied in 256µs 12:08:48.535 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 12:08:48.535 [debug] Replied in 411µs 12:09:00.852 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:09:10.586 [info] {"source":"oban","duration":3591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:40.602 [info] {"source":"oban","duration":9740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.857 [info] {"source":"oban","duration":2022,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:10:10.623 [info] {"source":"oban","duration":13928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:40.636 [info] {"source":"oban","duration":6750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.874 [info] {"source":"oban","duration":3816,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:11:10.663 [info] {"source":"oban","duration":17743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:40.679 [info] {"source":"oban","duration":3802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.880 [info] {"source":"oban","duration":1978,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:12:10.700 [info] {"source":"oban","duration":9000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:40.723 [info] {"source":"oban","duration":15020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.888 [info] {"source":"oban","duration":2840,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:13:10.745 [info] {"source":"oban","duration":15542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:40.751 [info] {"source":"oban","duration":2729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.895 [info] {"source":"oban","duration":2093,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:14:10.772 [info] {"source":"oban","duration":12756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:40.781 [info] {"source":"oban","duration":4498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.920 [info] {"source":"oban","duration":5551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:15:10.789 [info] {"source":"oban","duration":2434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:40.810 [info] {"source":"oban","duration":17102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.929 [info] {"source":"oban","duration":2686,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:16:10.828 [info] {"source":"oban","duration":11595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:40.854 [info] {"source":"oban","duration":19827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.935 [info] {"source":"oban","duration":2171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:17:10.869 [info] {"source":"oban","duration":12188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:40.891 [info] {"source":"oban","duration":16078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.942 [info] {"source":"oban","duration":1205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:18:10.897 [info] {"source":"oban","duration":3201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:40.909 [info] {"source":"oban","duration":10934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.953 [info] {"source":"oban","duration":6006,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:19:10.930 [info] {"source":"oban","duration":12239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:40.947 [info] {"source":"oban","duration":8547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.970 [info] {"source":"oban","duration":4709,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:20:10.967 [info] {"source":"oban","duration":7621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:40.993 [info] {"source":"oban","duration":14546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.976 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:21:10.999 [info] {"source":"oban","duration":2665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:41.029 [info] {"source":"oban","duration":16981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.990 [info] {"source":"oban","duration":6991,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:22:11.043 [info] {"source":"oban","duration":11145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:41.054 [info] {"source":"oban","duration":5631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.998 [info] {"source":"oban","duration":2497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:23:11.063 [info] {"source":"oban","duration":5649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:41.084 [info] {"source":"oban","duration":15722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:01.003 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:24:11.103 [info] {"source":"oban","duration":13363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:41.125 [info] {"source":"oban","duration":14769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.016 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:25:11.141 [info] {"source":"oban","duration":10940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:41.166 [info] {"source":"oban","duration":17637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.044 [info] {"source":"oban","duration":19361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:26:11.185 [info] {"source":"oban","duration":11660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:41.211 [info] {"source":"oban","duration":20523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.052 [info] {"source":"oban","duration":2422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:27:11.217 [info] {"source":"oban","duration":4465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:41.225 [info] {"source":"oban","duration":6827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.070 [info] {"source":"oban","duration":3447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:28:11.237 [info] {"source":"oban","duration":7280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:41.242 [info] {"source":"oban","duration":2835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.080 [info] {"source":"oban","duration":4607,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:29:11.254 [info] {"source":"oban","duration":9127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:41.262 [info] {"source":"oban","duration":4506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.083 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:30:11.269 [info] {"source":"oban","duration":5930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:41.303 [info] {"source":"oban","duration":22288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.091 [info] {"source":"oban","duration":2360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:31:11.318 [info] {"source":"oban","duration":7971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:41.346 [info] {"source":"oban","duration":13571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.101 [info] {"source":"oban","duration":2380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:32:11.369 [info] {"source":"oban","duration":19263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:41.378 [info] {"source":"oban","duration":6780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.113 [info] {"source":"oban","duration":4817,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:33:11.382 [info] {"source":"oban","duration":2543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:41.389 [info] {"source":"oban","duration":3799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.128 [info] {"source":"oban","duration":9136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:34:11.399 [info] {"source":"oban","duration":7628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:41.404 [info] {"source":"oban","duration":2628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.137 [info] {"source":"oban","duration":1706,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:35:11.417 [info] {"source":"oban","duration":4063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:41.435 [info] {"source":"oban","duration":14990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.155 [info] {"source":"oban","duration":4552,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:36:11.442 [info] {"source":"oban","duration":2883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:41.460 [info] {"source":"oban","duration":16064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.162 [info] {"source":"oban","duration":2511,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:37:11.483 [info] {"source":"oban","duration":10817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:41.520 [info] {"source":"oban","duration":16419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.175 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:38:11.551 [info] {"source":"oban","duration":13821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:41.557 [info] {"source":"oban","duration":2809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.184 [info] {"source":"oban","duration":3945,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:39:11.581 [info] {"source":"oban","duration":20000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:41.586 [info] {"source":"oban","duration":3053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.189 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:40:11.593 [info] {"source":"oban","duration":4743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:41.599 [info] {"source":"oban","duration":2811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.197 [info] {"source":"oban","duration":2940,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:41:11.614 [info] {"source":"oban","duration":6813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:41.640 [info] {"source":"oban","duration":17287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.212 [info] {"source":"oban","duration":8553,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:42:11.652 [info] {"source":"oban","duration":2952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:41.660 [info] {"source":"oban","duration":3708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.222 [info] {"source":"oban","duration":4996,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:43:11.667 [info] {"source":"oban","duration":2539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:41.678 [info] {"source":"oban","duration":4998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.235 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:44:11.704 [info] {"source":"oban","duration":18488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:41.729 [info] {"source":"oban","duration":14450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.241 [info] {"source":"oban","duration":3331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:45:11.740 [info] {"source":"oban","duration":2501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:41.747 [info] {"source":"oban","duration":2866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.256 [info] {"source":"oban","duration":4479,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:46:11.755 [info] {"source":"oban","duration":2618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:41.762 [info] {"source":"oban","duration":2550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.265 [info] {"source":"oban","duration":2597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:47:11.783 [info] {"source":"oban","duration":14287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:41.795 [info] {"source":"oban","duration":8825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.279 [info] {"source":"oban","duration":10652,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:48:11.800 [info] {"source":"oban","duration":2772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:41.806 [info] {"source":"oban","duration":2528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.297 [info] {"source":"oban","duration":4148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:49:11.809 [info] {"source":"oban","duration":2104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:41.823 [info] {"source":"oban","duration":2260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.312 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:50:11.848 [info] {"source":"oban","duration":19672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:41.860 [info] {"source":"oban","duration":2380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.329 [info] {"source":"oban","duration":3739,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:51:11.872 [info] {"source":"oban","duration":2678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:41.885 [info] {"source":"oban","duration":2446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.345 [info] {"source":"oban","duration":3780,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:52:11.897 [info] {"source":"oban","duration":9817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:41.907 [info] {"source":"oban","duration":3026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.356 [info] {"source":"oban","duration":4024,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:53:11.920 [info] {"source":"oban","duration":10745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:41.938 [info] {"source":"oban","duration":10593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.370 [info] {"source":"oban","duration":5967,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:54:11.946 [info] {"source":"oban","duration":5115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:41.951 [info] {"source":"oban","duration":3104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.379 [info] {"source":"oban","duration":3996,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:55:11.973 [info] {"source":"oban","duration":10782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:41.981 [info] {"source":"oban","duration":2777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.384 [info] {"source":"oban","duration":925,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:56:11.990 [info] {"source":"oban","duration":6065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:42.009 [info] {"source":"oban","duration":12816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.391 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:57:12.015 [info] {"source":"oban","duration":3253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:42.037 [info] {"source":"oban","duration":17137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.397 [info] {"source":"oban","duration":2424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:58:12.051 [info] {"source":"oban","duration":2149,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:42.056 [info] {"source":"oban","duration":2763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.410 [info] {"source":"oban","duration":3856,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:59:12.071 [info] {"source":"oban","duration":7665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:42.076 [info] {"source":"oban","duration":3026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.463 [info] {"source":"oban","duration":43797,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[25]} 13:00:00.488 [info] {"args":{},"id":25,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1775955600487776658,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 13:00:00.495 [debug] QUERY OK source="tasks" db=3.2ms queue=0.1ms idle=901.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:00:00.693 [debug] QUERY OK source="media_items" db=198.5ms queue=2.1ms idle=891.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" WHERE ((NOT (m0."media_filepath" IS NULL) AND IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 13:00:00.694 [info] Culling 0 media items past their retention date 13:00:00.697 [debug] QUERY OK source="media_items" db=0.9ms queue=0.7ms idle=201.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" WHERE ((NOT (m0."media_filepath" IS NULL) AND NOT ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND NOT (m0."prevent_culling" = 1)) [] 13:00:00.697 [info] Deleting 0 media items that are from before the source cutoff 13:00:00.699 [info] {"args":{},"id":25,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","duration":209990,"event":"job:stop","queue_time":468473,"attempt":1,"tags":["media_item","local_data"]} 13:00:00.702 [debug] QUERY OK source="tasks" db=1.6ms queue=0.1ms idle=58.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:00:12.080 [info] {"source":"oban","duration":2441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:42.084 [info] {"source":"oban","duration":3327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.475 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:01:12.105 [info] {"source":"oban","duration":10340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:42.110 [info] {"source":"oban","duration":3746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.492 [info] {"source":"oban","duration":9080,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:02:12.136 [info] {"source":"oban","duration":14126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:42.151 [info] {"source":"oban","duration":11182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.507 [info] {"source":"oban","duration":5814,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:03:12.156 [info] {"source":"oban","duration":2233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:42.176 [info] {"source":"oban","duration":16640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.523 [info] {"source":"oban","duration":5309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:04:12.182 [info] {"source":"oban","duration":4526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:42.185 [info] {"source":"oban","duration":2410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.539 [info] {"source":"oban","duration":2133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:05:12.201 [info] {"source":"oban","duration":9562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:42.216 [info] {"source":"oban","duration":10390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.543 [info] {"source":"oban","duration":1257,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:06:12.221 [info] {"source":"oban","duration":2792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:42.229 [info] {"source":"oban","duration":6034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.551 [info] {"source":"oban","duration":3153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:07:12.234 [info] {"source":"oban","duration":2839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:42.237 [info] {"source":"oban","duration":2021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.567 [info] {"source":"oban","duration":4817,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:08:12.255 [info] {"source":"oban","duration":14446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:42.267 [info] {"source":"oban","duration":6189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.577 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:09:12.270 [info] {"source":"oban","duration":2490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:42.288 [info] {"source":"oban","duration":10075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.588 [info] {"source":"oban","duration":1863,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:10:12.310 [info] {"source":"oban","duration":9922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:42.318 [info] {"source":"oban","duration":2643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.595 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:11:12.331 [info] {"source":"oban","duration":11822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:42.355 [info] {"source":"oban","duration":15076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.601 [info] {"source":"oban","duration":2142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:12:12.359 [info] {"source":"oban","duration":3391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:42.379 [info] {"source":"oban","duration":16867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.609 [info] {"source":"oban","duration":4244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:13:12.401 [info] {"source":"oban","duration":11568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:42.407 [info] {"source":"oban","duration":4260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.621 [info] {"source":"oban","duration":1809,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:14:12.411 [info] {"source":"oban","duration":2792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:42.428 [info] {"source":"oban","duration":13708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.630 [info] {"source":"oban","duration":3118,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:15:12.433 [info] {"source":"oban","duration":2972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:42.455 [info] {"source":"oban","duration":12645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.636 [info] {"source":"oban","duration":1159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:16:12.481 [info] {"source":"oban","duration":13081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:42.485 [info] {"source":"oban","duration":3215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.648 [info] {"source":"oban","duration":2986,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:17:12.502 [info] {"source":"oban","duration":10893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:42.532 [info] {"source":"oban","duration":19403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.664 [info] {"source":"oban","duration":3250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:18:12.540 [info] {"source":"oban","duration":2569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:42.549 [info] {"source":"oban","duration":6263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.682 [info] {"source":"oban","duration":3547,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:19:12.564 [info] {"source":"oban","duration":10120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:42.569 [info] {"source":"oban","duration":3411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.695 [info] {"source":"oban","duration":3434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:20:12.596 [info] {"source":"oban","duration":14606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:42.612 [info] {"source":"oban","duration":8311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.711 [info] {"source":"oban","duration":1019,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:21:12.619 [info] {"source":"oban","duration":3634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:42.646 [info] {"source":"oban","duration":15233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.733 [info] {"source":"oban","duration":8866,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:22:12.662 [info] {"source":"oban","duration":12038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:42.669 [info] {"source":"oban","duration":3030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.740 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:23:12.680 [info] {"source":"oban","duration":4496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:42.697 [info] {"source":"oban","duration":12016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.751 [info] {"source":"oban","duration":2891,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:24:12.710 [info] {"source":"oban","duration":9498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:42.722 [info] {"source":"oban","duration":8006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.761 [info] {"source":"oban","duration":3811,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:25:12.734 [info] {"source":"oban","duration":9434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:42.740 [info] {"source":"oban","duration":5063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.299 [info] GET /sources 13:26:00.301 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 13:26:00.771 [info] {"source":"oban","duration":1363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:26:00.997 [debug] QUERY OK source="settings" db=686.3ms queue=1.0ms idle=261.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.000 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=938.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.004 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=877.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.006 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=880.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.007 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=236.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.051 [debug] QUERY OK source="sources" db=41.6ms queue=0.1ms idle=11.9ms 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:26:01.059 [debug] QUERY OK source="sources" db=6.7ms queue=0.3ms 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", 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:26:01.070 [info] Sent 200 in 770ms 13:26:02.216 [info] CONNECTED TO Phoenix.LiveView.Socket in 463µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "SDQCR3YXNygFWQcOXkgeOA4XejBuCgwo9BW6BoMYPoB789UoIzMf9dJp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:26:02.230 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 13:26:02.233 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=153.2ms 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:26:02.238 [debug] QUERY OK source="sources" db=4.4ms queue=0.1ms idle=139.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:26:02.239 [debug] Replied in 9ms 13:26:02.244 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 13:26:02.244 [debug] Replied in 404µs 13:26:04.794 [info] GET /sources/1 13:26:04.796 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 13:26:04.803 [debug] QUERY OK source="sources" db=1.9ms queue=0.4ms idle=685.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:04.806 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=677.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:05.045 [debug] QUERY OK source="tasks" db=237.2ms queue=0.1ms idle=678.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 13:26:05.047 [debug] QUERY OK source="oban_jobs" db=1.0ms queue=0.1ms idle=913.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 (?,?)) [4, 3] 13:26:05.050 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=915.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.053 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=247.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.055 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=248.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.061 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=15.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:05.064 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=15.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")))) [1] 13:26:05.069 [debug] QUERY OK source="media_items" db=3.5ms idle=15.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 ? [1, 10, 0] 13:26:05.071 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=17.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:05.072 [debug] QUERY OK source="media_items" db=0.3ms idle=16.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:26:05.074 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=11.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 ? [1, 10, 0] 13:26:05.077 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" = ?) [1] 13:26:05.080 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=9.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"))))) [1] 13:26:05.084 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=8.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 13:26:05.092 [info] Sent 200 in 298ms 13:26:05.389 [info] CONNECTED TO Phoenix.LiveView.Socket in 609µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KQEZAANKFBg0ZSdtAEF4BQEPR2MFWgcTXwLq72niaSbTf03RFbp5R4AK", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:26:05.404 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending", "source_id" => 1} 13:26:05.406 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=324.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:05.408 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=322.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")))) [1] 13:26:05.411 [debug] QUERY OK source="media_items" db=2.0ms idle=287.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 ? [1, 10, 0] 13:26:05.411 [debug] Replied in 7ms 13:26:05.413 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded", "source_id" => 1} 13:26:05.415 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=284.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:05.417 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=284.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:26:05.419 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=11.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 ? [1, 10, 0] 13:26:05.419 [debug] Replied in 5ms 13:26:05.421 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "other", "source_id" => 1} 13:26:05.422 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=12.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:05.425 [debug] QUERY OK source="media_items" db=1.1ms queue=0.8ms idle=12.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"))))) [1] 13:26:05.428 [debug] QUERY OK source="media_items" db=3.1ms idle=9.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 13:26:05.429 [debug] Replied in 8ms 13:26:05.434 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 13:26:05.434 [debug] Replied in 300µs 13:26:08.608 [info] GET /sources/1/edit 13:26:08.610 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 13:26:08.620 [debug] QUERY OK source="sources" db=3.2ms queue=0.6ms 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" = ?) [1] 13:26:08.624 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.2ms idle=1455.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:26:08.626 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=448.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.627 [debug] QUERY OK source="settings" db=0.4ms idle=436.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.629 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=437.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.640 [info] Sent 200 in 32ms 13:26:08.884 [info] CONNECTED TO Phoenix.LiveView.Socket in 321µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FRUlKHY8AwA7eiheCjh8GnMochQ7NwgvdcpYBDyqnLmglI7M4EEBlYNw", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:26:08.916 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 13:26:08.917 [debug] Replied in 973µs 13:26:12.754 [info] {"source":"oban","duration":9557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:30.728 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "g"} 13:26:30.730 [debug] Replied in 4ms 13:26:30.814 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "go"} 13:26:30.818 [debug] Replied in 5ms 13:26:30.915 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "got"} 13:26:30.917 [debug] Replied in 3ms 13:26:30.990 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "got "} 13:26:30.991 [debug] Replied in 2ms 13:26:31.127 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "got i"} 13:26:31.127 [debug] Replied in 942µs 13:26:31.205 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "got it"} 13:26:31.206 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1002.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:31.208 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1004.1ms UPDATE "settings" SET "pro_enabled" = ? WHERE "id" = ? [true, 1] 13:26:31.209 [debug] Replied in 4ms 13:26:42.335 [info] POST /sources/1 13:26:42.342 [debug] Processing with PinchflatWeb.Sources.SourceController.update/2 Parameters: %{"_csrf_token" => "FRUlKHY8AwA7eiheCjh8GnMochQ7NwgvdcpYBDyqnLmglI7M4EEBlYNw", "_method" => "patch", "download_cutoff_date_preset" => "", "id" => "1", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "H3 Podcast", "download_cutoff_date" => "2026-04-09", "download_media" => "true", "fast_index" => "true", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/@H3Podcast", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 13:26:42.349 [debug] QUERY OK source="sources" db=3.2ms queue=0.2ms idle=1115.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:42.353 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=1120.6ms UPDATE "sources" SET "fast_index" = ?, "index_frequency_minutes" = ?, "updated_at" = ? WHERE "id" = ? [true, 43200, ~U[2026-04-12 01:26:42Z], 1] 13:26:42.359 [debug] QUERY OK source="tasks" db=3.5ms queue=0.2ms idle=301.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."worker" LIKE ?) AND (o1."state" IN (?,?,?,?)) [1, "%.MediaCollectionIndexingWorker", "available", "scheduled", "retryable", "executing"] 13:26:42.370 [debug] QUERY OK source="tasks" db=3.8ms idle=17.1ms DELETE FROM "tasks" WHERE "id" = ? [1] 13:26:42.383 [debug] QUERY OK source="tasks" db=4.0ms idle=17.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [26, 1, ~U[2026-04-12 01:26:42Z], ~U[2026-04-12 01:26:42Z]] 13:26:42.386 [debug] QUERY OK source="tasks" db=2.0ms queue=0.1ms idle=20.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."worker" LIKE ?) AND (o1."state" IN (?,?,?,?)) [1, "%.FastIndexingWorker", "available", "scheduled", "retryable", "executing"] 13:26:42.394 [debug] QUERY OK source="tasks" db=3.4ms idle=12.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [27, 1, ~U[2026-04-12 01:26:42Z], ~U[2026-04-12 01:26:42Z]] 13:26:42.395 [info] Sent 302 in 59ms 13:26:42.401 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957202401095215,"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:26:42.404 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms 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" = ?) [1] 13:26:42.405 [debug] QUERY OK source="settings" db=0.3ms idle=15.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.407 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=15.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:42.408 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=13.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:42.410 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCLtREJY21xRfCuEKvdki1Kw 13:26:42.418 [info] GET /sources/1 13:26:42.419 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 13:26:42.421 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=19.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:42.425 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=17.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:42.430 [debug] QUERY OK source="tasks" db=3.2ms queue=0.9ms idle=20.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 13:26:42.433 [debug] QUERY OK source="oban_jobs" db=1.8ms queue=0.9ms idle=23.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 (?,?,?)) [27, 26, 4] 13:26:42.436 [debug] QUERY OK source="settings" db=1.0ms idle=26.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:42.438 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=15.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:42.443 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=15.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.449 [debug] QUERY OK source="sources" db=1.0ms idle=18.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:42.455 [debug] QUERY OK source="media_items" db=4.0ms idle=17.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 13:26:42.458 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=19.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 ? [1, 10, 0] 13:26:42.461 [debug] QUERY OK source="sources" db=0.6ms idle=22.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:42.464 [debug] QUERY OK source="media_items" db=1.7ms queue=0.5ms idle=18.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:26:42.465 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=15.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 13:26:42.729 [debug] QUERY OK source="sources" db=261.2ms queue=0.2ms idle=12.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:42.733 [debug] QUERY OK source="media_items" db=2.3ms queue=0.2ms idle=271.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"))))) [1] 13:26:42.739 [debug] QUERY OK source="media_items" db=6.0ms queue=0.1ms idle=272.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 ? [1, 10, 0] 13:26:42.747 [info] Sent 200 in 328ms 13:26:42.759 [info] {"source":"oban","duration":3125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:43.033 [info] CONNECTED TO Phoenix.LiveView.Socket in 106µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FEQQGForQyVnbAhLIiYOEgIMTWUCIQM6e2EinS9T2ZMrDWEEEaz3UOEb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:26:43.046 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending", "source_id" => 1} 13:26:43.047 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=581.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:43.050 [debug] QUERY OK source="media_items" db=1.2ms idle=319.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")))) [1] 13:26:43.052 [debug] QUERY OK source="media_items" db=2.1ms idle=317.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 ? [1, 10, 0] 13:26:43.053 [debug] Replied in 6ms 13:26:43.055 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded", "source_id" => 1} 13:26:43.056 [debug] QUERY OK source="sources" db=0.6ms idle=315.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:43.057 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=8.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:26:43.059 [debug] QUERY OK source="media_items" db=1.2ms queue=0.3ms idle=7.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 13:26:43.059 [debug] Replied in 4ms 13:26:43.063 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "other", "source_id" => 1} 13:26:43.065 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms 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" = ?) [1] 13:26:43.067 [debug] QUERY OK source="media_items" db=1.2ms idle=10.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 13:26:43.071 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=10.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 ? [1, 10, 0] 13:26:43.071 [debug] Replied in 8ms 13:26:43.076 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957203075355168,"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:26:43.078 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:26:43.081 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=12.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:43.084 [debug] QUERY OK source="media_items" db=1.2ms queue=0.9ms idle=11.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 13:26:43.087 [debug] QUERY OK source="media_items" db=0.6ms queue=1.3ms idle=10.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:26:43.088 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=10.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:26:43.092 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=13.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:43.093 [debug] QUERY OK source="settings" db=0.2ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:43.098 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:26:43.099 [debug] Current batch of media processed. Will check again in 1000ms 13:26:43.100 [debug] QUERY OK source="settings" db=0.5ms queue=0.4ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:43.100 [debug] QUERY OK source="settings" db=0.4ms idle=12.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:43.101 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=12.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:43.102 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/42/01/420192a50404931611d203cea11dff223fcabdba2e56a6613a4c027f7128edfe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:26:43.277 [debug] Media ids fetched from RSS: ["jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc"] 13:26:43.283 [debug] QUERY OK source="media_items" db=3.1ms queue=0.8ms idle=186.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc"] 13:26:43.287 [debug] QUERY OK source="settings" db=2.2ms queue=0.3ms idle=191.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.288 [debug] QUERY OK source="settings" db=0.8ms idle=187.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.289 [debug] Running yt-dlp command for action: get_media_attributes 13:26:43.292 [debug] QUERY OK source="settings" db=0.5ms idle=190.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.293 [debug] QUERY OK source="settings" db=0.6ms idle=190.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.294 [debug] QUERY OK source="settings" db=0.8ms 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:26:43.296 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/15/3e/153e44100e3f9fae8d3ca5a9aeaf43eb8edd159009d44a4301367a9915d5ed6c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:26:44.100 [debug] Current batch of media processed. Will check again in 1000ms 13:26:44.866 [info] GET /settings 13:26:44.872 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 13:26:44.879 [debug] QUERY OK source="settings" db=1.2ms queue=2.3ms idle=1583.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.884 [debug] QUERY OK source="settings" db=0.9ms queue=2.6ms idle=1587.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.886 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=1590.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.890 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=814.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.905 [info] Sent 200 in 38ms 13:26:45.071 [info] CONNECTED TO Phoenix.LiveView.Socket in 116µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ByYCR0UxPlwHQRZwD0klIis0UwUUOn9tvPW6qID-RwSIi8nulYdSCT95", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:26:45.101 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "value" => nil} 13:26:45.101 [debug] Replied in 551µs 13:26:45.103 [debug] Current batch of media processed. Will check again in 1000ms 13:26:46.104 [debug] Current batch of media processed. Will check again in 1000ms 13:26:47.105 [debug] Current batch of media processed. Will check again in 1000ms 13:26:48.106 [debug] Current batch of media processed. Will check again in 1000ms 13:26:49.107 [debug] Current batch of media processed. Will check again in 1000ms 13:27:03.801 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:03.802 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:03.804 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:03.804 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:03.804 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:03.850 [debug] QUERY OK source="oban_jobs" db=24.8ms decode=0.2ms queue=65.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:27:03.851 [info] Reset 2 executing jobs 13:27:03.854 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:27:06.390 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:27:06.392 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:27:06.743 [debug] Tzdata polling for update. 13:27:07.186 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:27:07.192 [debug] QUERY OK source="settings" db=1.7ms queue=1.0ms idle=1452.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.203 [debug] QUERY OK source="settings" db=1.2ms queue=0.5ms idle=1463.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.217 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:27:07.293 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:27:07.329 [debug] Tzdata polling shows the loaded tz database is up to date. 13:27:07.332 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:27:07.338 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:27:07.371 [info] {"args":{},"id":28,"meta":{},"system_time":1775957227370391377,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:27:07.373 [info] Updating yt-dlp 13:27:07.373 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:27:08.314 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957228313059487,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:08.320 [debug] QUERY OK source="sources" db=1.6ms queue=0.8ms idle=579.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:27:08.329 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957228327724099,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:27:08.332 [debug] QUERY OK source="settings" db=2.3ms queue=1.0ms idle=29.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.343 [debug] QUERY OK source="sources" db=11.7ms queue=0.2ms idle=17.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:27:08.350 [debug] QUERY OK source="settings" db=4.1ms decode=0.8ms queue=0.2ms idle=28.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.371 [debug] QUERY OK source="media_profiles" db=22.6ms queue=1.5ms idle=26.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:08.377 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=43.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.380 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCLtREJY21xRfCuEKvdki1Kw 13:27:08.399 [debug] QUERY OK source="media_items" db=23.7ms queue=10.0ms idle=41.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")))) [1] 13:27:08.408 [debug] QUERY OK source="media_items" db=5.5ms queue=1.7ms idle=58.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:27:08.414 [debug] QUERY OK source="media_profiles" db=4.4ms queue=0.1ms idle=60.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:08.426 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=51.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.430 [debug] QUERY OK source="settings" db=3.7ms idle=49.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.439 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:27:08.445 [debug] QUERY OK source="settings" db=5.7ms queue=0.1ms idle=39.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.449 [debug] Current batch of media processed. Will check again in 1000ms 13:27:08.449 [debug] QUERY OK source="settings" db=3.8ms 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 [] 13:27:08.452 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=35.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.455 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/86/9e/869ec1bd5f5edb7c930a3f11121570b2f6c8154d819a0e960716ce867f82acbe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:09.450 [debug] Current batch of media processed. Will check again in 1000ms 13:27:09.659 [debug] Media ids fetched from RSS: ["jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc"] 13:27:09.667 [debug] QUERY OK source="media_items" db=3.3ms queue=0.3ms idle=1217.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc"] 13:27:09.670 [debug] QUERY OK source="settings" db=0.8ms idle=1219.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.671 [debug] QUERY OK source="settings" db=0.6ms queue=0.9ms idle=1218.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.672 [debug] Running yt-dlp command for action: get_media_attributes 13:27:09.676 [debug] QUERY OK source="settings" db=0.4ms idle=364.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.677 [debug] QUERY OK source="settings" db=0.6ms idle=355.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.679 [debug] QUERY OK source="settings" db=1.9ms 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:27:09.680 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5c/0f/5c0f6b772e190e9d815cce7837800f1af7149e3e442f7124c1f6ed5bf70e58c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:10.452 [debug] Current batch of media processed. Will check again in 1000ms 13:27:11.296 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ByYCR0UxPlwHQRZwD0klIis0UwUUOn9tvPW6qID-RwSIi8nulYdSCT95", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:27:11.351 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "value" => nil} 13:27:11.352 [debug] Replied in 2ms 13:27:11.454 [debug] Current batch of media processed. Will check again in 1000ms 13:27:11.805 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:27:11.806 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:27:12.457 [debug] Current batch of media processed. Will check again in 1000ms 13:27:13.460 [debug] Current batch of media processed. Will check again in 1000ms 13:27:14.465 [debug] Current batch of media processed. Will check again in 1000ms 13:27:15.467 [debug] Current batch of media processed. Will check again in 1000ms 13:27:15.512 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:27:15.515 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=771.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.532 [info] {"args":{},"id":28,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8145556,"event":"job:stop","queue_time":357651,"attempt":1,"tags":["local_data"]} 13:27:16.468 [debug] Current batch of media processed. Will check again in 1000ms 13:27:17.469 [debug] Current batch of media processed. Will check again in 1000ms 13:27:29.448 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:29.449 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:29.449 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:29.449 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:29.449 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:29.479 [debug] QUERY OK source="oban_jobs" db=10.2ms decode=0.2ms queue=49.4ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:27:29.480 [info] Reset 2 executing jobs 13:27:29.482 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:27:32.144 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:27:32.146 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:27:32.947 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:27:32.957 [debug] QUERY OK source="settings" db=3.6ms queue=0.8ms idle=1557.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.963 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1567.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.965 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:27:33.012 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:27:33.046 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:27:33.054 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:27:33.096 [info] {"args":{},"id":29,"meta":{},"system_time":1775957253095063983,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:27:33.097 [info] Updating yt-dlp 13:27:33.098 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:27:33.567 [info] CONNECTED TO Phoenix.LiveView.Socket in 1ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ByYCR0UxPlwHQRZwD0klIis0UwUUOn9tvPW6qID-RwSIi8nulYdSCT95", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "1", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:27:33.598 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "value" => nil} 13:27:33.599 [debug] Replied in 1ms 13:27:34.043 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957254042925599,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:34.049 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957254049080837,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:27:34.057 [debug] QUERY OK source="sources" db=3.5ms queue=1.7ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:27:34.068 [debug] QUERY OK source="sources" db=12.4ms queue=2.8ms idle=656.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:27:34.070 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=21.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.072 [debug] QUERY OK source="settings" db=10.6ms queue=0.1ms idle=18.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:34.085 [debug] QUERY OK source="media_profiles" db=3.5ms queue=1.6ms idle=31.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:34.094 [debug] QUERY OK source="settings" db=4.5ms queue=1.1ms idle=33.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.098 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCLtREJY21xRfCuEKvdki1Kw 13:27:34.137 [debug] QUERY OK source="media_items" db=31.8ms queue=15.8ms idle=25.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")))) [1] 13:27:34.141 [debug] QUERY OK source="media_items" db=2.2ms queue=0.7ms idle=67.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:27:34.145 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=69.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:27:34.160 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=70.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:34.167 [debug] QUERY OK source="settings" db=5.5ms queue=0.3ms idle=66.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.504 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:27:34.510 [debug] QUERY OK source="settings" db=3.7ms queue=0.2ms idle=368.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.511 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=369.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.514 [debug] Current batch of media processed. Will check again in 1000ms 13:27:34.514 [debug] QUERY OK source="settings" db=1.9ms queue=0.4ms idle=367.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:34.518 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/bf/fd/bffdc74f6a94c1bc56265dcf6f1d0334e0daae56c611185982875b838330f5d7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:35.132 [debug] Media ids fetched from RSS: ["jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc"] 13:27:35.148 [debug] QUERY OK source="media_items" db=8.4ms queue=0.2ms idle=629.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc"] 13:27:35.156 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=642.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.160 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=642.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:35.161 [debug] Running yt-dlp command for action: get_media_attributes 13:27:35.166 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=128.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.168 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=122.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.171 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=21.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.172 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/48/d4/48d429643e6dc3de5007dd3eedcf260ce039e9509bc6982bef0b16c5d8b90671.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:35.515 [debug] Current batch of media processed. Will check again in 1000ms 13:27:36.517 [debug] Current batch of media processed. Will check again in 1000ms 13:27:37.519 [debug] Current batch of media processed. Will check again in 1000ms 13:27:38.091 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:27:38.092 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:27:38.520 [debug] Current batch of media processed. Will check again in 1000ms 13:27:39.521 [debug] Current batch of media processed. Will check again in 1000ms 13:27:40.523 [debug] Current batch of media processed. Will check again in 1000ms 13:27:41.524 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:27:41.525 [debug] Current batch of media processed. Will check again in 1000ms 13:27:41.526 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1021.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.540 [info] {"args":{},"id":29,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8434099,"event":"job:stop","queue_time":77059,"attempt":1,"tags":["local_data"]} 13:27:42.526 [debug] Current batch of media processed. Will check again in 1000ms 13:27:54.075 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:54.075 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:54.079 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:54.079 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:54.097 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:27:54.117 [debug] QUERY OK source="oban_jobs" db=12.3ms decode=0.2ms queue=72.4ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:27:54.118 [info] Reset 2 executing jobs 13:27:54.121 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:27:56.735 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:27:56.736 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:27:57.479 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:27:57.487 [debug] QUERY OK source="settings" db=1.8ms queue=0.8ms idle=1471.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.492 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1478.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.494 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:27:57.532 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:27:57.561 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:27:57.568 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:27:57.603 [info] {"args":{},"id":30,"meta":{},"system_time":1775957277602161232,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:27:57.605 [info] Updating yt-dlp 13:27:57.605 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:27:58.561 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957278559802436,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:58.568 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957278568402449,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:27:58.574 [debug] QUERY OK source="sources" db=7.6ms queue=2.8ms idle=551.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:27:58.579 [debug] QUERY OK source="sources" db=4.6ms queue=5.1ms idle=23.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:27:58.582 [debug] QUERY OK source="settings" db=4.0ms queue=0.8ms idle=18.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:58.589 [debug] QUERY OK source="media_profiles" db=2.2ms queue=0.5ms idle=12.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:27:58.590 [debug] QUERY OK source="settings" db=8.5ms queue=0.1ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:58.597 [debug] QUERY OK source="settings" db=6.8ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:58.606 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCLtREJY21xRfCuEKvdki1Kw 13:27:58.633 [debug] QUERY OK source="media_items" db=23.1ms queue=6.2ms idle=24.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")))) [1] 13:27:58.639 [debug] QUERY OK source="media_items" db=2.0ms queue=2.8ms idle=51.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:27:58.645 [debug] QUERY OK source="media_profiles" db=2.3ms queue=0.1ms idle=54.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:58.655 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=65.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.658 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=58.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.665 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:27:58.668 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=32.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.670 [debug] QUERY OK source="settings" db=1.6ms idle=29.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.671 [debug] Current batch of media processed. Will check again in 1000ms 13:27:58.672 [debug] QUERY OK source="settings" db=2.2ms idle=25.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:58.677 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b0/eb/b0ebf3bff7c37d2826161b436a5ac3a05021d91b3da266bae2d7b50cdddff4ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:59.685 [debug] Current batch of media processed. Will check again in 1000ms 13:27:59.696 [info] CONNECTED TO Phoenix.LiveView.Socket in 8ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ByYCR0UxPlwHQRZwD0klIis0UwUUOn9tvPW6qID-RwSIi8nulYdSCT95", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "2", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:27:59.757 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "value" => nil} 13:27:59.760 [debug] Replied in 3ms 13:27:59.784 [debug] Media ids fetched from RSS: ["jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc"] 13:27:59.797 [debug] QUERY OK source="media_items" db=10.2ms queue=0.2ms idle=1118.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc"] 13:27:59.802 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1131.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.804 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=1129.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.804 [debug] Running yt-dlp command for action: get_media_attributes 13:27:59.807 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=243.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.808 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=185.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.809 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=11.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:59.810 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/27/2d/272d1696dbd4e6a60cc3e856aeeac62333bb52a9e205dd7e6710820724e5d41c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:59.889 [info] POST /settings 13:27:59.905 [debug] Processing with PinchflatWeb.Settings.SettingController.update/2 Parameters: %{"_csrf_token" => "ByYCR0UxPlwHQRZwD0klIis0UwUUOn9tvPW6qID-RwSIi8nulYdSCT95", "_method" => "put", "setting" => %{"apprise_server" => "", "audio_codec_preference" => "m4a", "download_throughput_limit" => "", "extractor_sleep_interval_seconds" => "0", "restrict_filenames" => "false", "video_codec_preference" => "avc", "youtube_api_key" => "AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs"}} Pipelines: [:browser] 13:27:59.918 [debug] QUERY OK source="settings" db=2.7ms queue=3.6ms idle=109.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.922 [debug] QUERY OK source="settings" db=1.2ms queue=0.7ms idle=115.6ms UPDATE "settings" SET "youtube_api_key" = ? WHERE "id" = ? ["AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs", 1] 13:27:59.933 [info] Sent 302 in 42ms 13:28:00.044 [info] GET /settings 13:28:00.045 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 13:28:00.060 [debug] QUERY OK source="settings" db=13.1ms queue=0.2ms idle=238.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.075 [debug] QUERY OK source="settings" db=2.9ms queue=0.2ms idle=263.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.083 [debug] QUERY OK source="settings" db=2.3ms queue=5.1ms idle=266.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.108 [debug] QUERY OK source="settings" db=4.4ms queue=4.2ms 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:28:00.136 [info] Sent 200 in 91ms 13:28:00.430 [info] CONNECTED TO Phoenix.LiveView.Socket in 119µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RkUiGFdIOEAPeDUJLAAKDwQHdD0yVxMR73wic0B1ZNp0JqAXCjCke9UI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:28:00.534 [info] {"source":"oban","duration":4076,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:28:00.549 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "value" => nil} 13:28:00.550 [debug] Replied in 423µs 13:28:00.687 [debug] Current batch of media processed. Will check again in 1000ms 13:28:01.688 [debug] Current batch of media processed. Will check again in 1000ms 13:28:02.690 [debug] Current batch of media processed. Will check again in 1000ms 13:28:02.769 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:28:02.769 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:28:03.692 [debug] Current batch of media processed. Will check again in 1000ms 13:28:04.375 [info] GET /sources 13:28:04.377 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 13:28:04.390 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=1167.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.392 [debug] QUERY OK source="settings" db=0.6ms queue=0.6ms idle=1172.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.397 [debug] QUERY OK source="settings" db=0.4ms idle=797.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.403 [debug] QUERY OK source="settings" db=2.8ms idle=786.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.412 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=192.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.498 [debug] QUERY OK source="sources" db=60.9ms queue=12.0ms idle=38.1ms 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:28:04.523 [debug] QUERY OK source="sources" db=10.6ms queue=5.5ms 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", 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:28:04.556 [info] Sent 200 in 180ms 13:28:04.693 [debug] Current batch of media processed. Will check again in 1000ms 13:28:04.813 [info] CONNECTED TO Phoenix.LiveView.Socket in 113µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "GgZsCGMuEUYQVClSIjAJPDFYWiE2XgE2kp9yWVk7EblkDABkv5mwa0Gn", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:28:04.830 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 13:28:04.838 [debug] QUERY OK source="sources" db=4.4ms queue=0.7ms idle=420.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 13:28:04.851 [debug] QUERY OK source="sources" db=7.9ms queue=3.4ms idle=341.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:28:04.851 [debug] Replied in 22ms 13:28:05.695 [debug] Current batch of media processed. Will check again in 1000ms 13:28:06.331 [info] GET / 13:28:06.331 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:28:06.335 [debug] QUERY OK source="settings" db=0.5ms queue=0.5ms idle=717.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.341 [debug] QUERY OK source="media_profiles" db=3.7ms queue=1.7ms idle=710.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:28:06.368 [debug] QUERY OK source="sources" db=24.7ms queue=0.9ms idle=124.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:28:06.379 [debug] QUERY OK source="media_items" db=7.1ms queue=0.4ms idle=153.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:28:06.387 [debug] QUERY OK source="media_items" db=4.4ms queue=2.5ms idle=161.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:28:06.389 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=52.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.392 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms 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 [] 13:28:06.398 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=28.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.418 [debug] QUERY OK source="tasks" db=5.3ms queue=0.1ms idle=33.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:28:06.427 [debug] QUERY OK source="sources" db=4.7ms queue=2.4ms idle=36.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:28:06.457 [debug] QUERY OK source="media_items" db=1.2ms queue=0.8ms idle=66.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:28:06.476 [debug] QUERY OK source="media_items" db=13.6ms queue=1.7ms idle=68.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:28:06.491 [debug] QUERY OK source="media_items" db=6.5ms queue=3.7ms idle=82.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 13:28:06.497 [debug] QUERY OK source="media_items" db=4.6ms queue=1.0ms idle=73.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:28:06.511 [info] Sent 200 in 180ms 13:28:06.696 [debug] Current batch of media processed. Will check again in 1000ms 13:28:06.736 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:28:06.737 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=260.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.742 [info] CONNECTED TO Phoenix.LiveView.Socket in 112µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RQxiHwcwDyBgcnYLPzp_BRcERAklPjEt4z7n3HuQ5D32YK4RPis_rPwu", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:28:06.748 [info] {"args":{},"id":30,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":9138362,"event":"job:stop","queue_time":587477,"attempt":1,"tags":["local_data"]} 13:28:06.845 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 13:28:06.849 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=219.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:28:06.863 [debug] QUERY OK source="media_items" db=13.3ms queue=0.3ms idle=212.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:28:06.864 [debug] Replied in 18ms 13:28:06.867 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 13:28:06.869 [debug] QUERY OK source="media_items" db=1.8ms idle=130.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 13:28:06.872 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=123.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:28:06.873 [debug] Replied in 5ms 13:28:06.875 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 13:28:06.878 [debug] QUERY OK source="tasks" db=2.2ms idle=117.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:28:06.881 [debug] QUERY OK source="sources" db=1.2ms idle=30.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:28:06.881 [debug] Replied in 5ms 13:28:07.699 [debug] Current batch of media processed. Will check again in 1000ms 13:28:19.627 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:19.628 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:19.628 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:19.628 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:19.628 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:19.655 [debug] QUERY OK source="oban_jobs" db=6.2ms decode=0.2ms queue=72.3ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:28:19.656 [info] Reset 2 executing jobs 13:28:19.659 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:28:22.301 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:28:22.303 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:28:23.109 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:28:23.118 [debug] QUERY OK source="settings" db=2.6ms queue=1.5ms idle=1559.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.125 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=1569.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.126 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:28:23.174 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:28:23.207 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:28:23.213 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:28:23.258 [info] {"args":{},"id":31,"meta":{},"system_time":1775957303256613075,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:28:23.260 [info] Updating yt-dlp 13:28:23.260 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:28:24.196 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957304194850765,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:28:24.202 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957304202632247,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:28:24.205 [debug] QUERY OK source="sources" db=3.9ms queue=1.6ms idle=642.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:28:24.209 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms 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" = ?) [1] 13:28:24.214 [debug] QUERY OK source="settings" db=3.2ms queue=1.3ms idle=18.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:24.216 [debug] QUERY OK source="settings" db=2.3ms queue=0.3ms idle=18.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:24.234 [debug] QUERY OK source="media_profiles" db=2.9ms queue=8.0ms idle=20.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:28:24.242 [debug] QUERY OK source="settings" db=3.4ms queue=0.2ms idle=29.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.244 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:28:24.248 [debug] QUERY OK source="settings" db=2.3ms queue=0.3ms idle=30.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.258 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:28:24.265 [debug] QUERY OK source="media_items" db=26.5ms queue=11.5ms idle=21.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")))) [1] 13:28:24.272 [debug] QUERY OK source="media_items" db=2.6ms queue=2.1ms idle=50.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:28:24.281 [debug] QUERY OK source="media_profiles" db=6.7ms queue=1.9ms idle=38.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:24.293 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=49.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.299 [debug] QUERY OK source="settings" db=2.7ms queue=2.8ms idle=45.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.316 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:28:24.320 [debug] QUERY OK source="settings" db=2.2ms queue=0.8ms idle=51.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.324 [debug] Current batch of media processed. Will check again in 1000ms 13:28:24.325 [debug] QUERY OK source="settings" db=2.6ms queue=1.8ms idle=49.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.328 [debug] QUERY OK source="settings" db=0.9ms queue=1.8ms idle=43.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.334 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b2/cd/b2cd83640b7dff140c496b2fcae1c986724b0a500c5d21b6fc002a392b16c9e6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:25.324 [debug] Current batch of media processed. Will check again in 1000ms 13:28:25.801 [debug] QUERY OK source="media_items" db=6.0ms queue=0.1ms idle=605.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:28:25.806 [debug] QUERY OK source="settings" db=1.2ms queue=2.5ms idle=604.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.809 [debug] QUERY OK source="settings" db=2.1ms queue=0.2ms 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:28:25.809 [debug] Running yt-dlp command for action: get_media_attributes 13:28:25.811 [debug] QUERY OK source="settings" db=0.3ms idle=19.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:25.814 [debug] QUERY OK source="settings" db=0.6ms idle=22.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.815 [debug] QUERY OK source="settings" db=0.5ms idle=14.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.816 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b3/f4/b3f4dc16345d8d3390b6d3dc5b9dd1f56f1058f1e5b8db449f924515728f2b46.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:26.325 [debug] Current batch of media processed. Will check again in 1000ms 13:28:27.326 [debug] Current batch of media processed. Will check again in 1000ms 13:28:28.081 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:28:28.082 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:28:28.327 [debug] Current batch of media processed. Will check again in 1000ms 13:28:29.329 [debug] Current batch of media processed. Will check again in 1000ms 13:28:30.330 [debug] Current batch of media processed. Will check again in 1000ms 13:28:31.332 [debug] Current batch of media processed. Will check again in 1000ms 13:28:31.652 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:28:31.658 [debug] QUERY OK source="settings" db=1.8ms queue=1.3ms idle=1384.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:31.673 [info] {"args":{},"id":31,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8402180,"event":"job:stop","queue_time":236496,"attempt":1,"tags":["local_data"]} 13:28:32.335 [debug] Current batch of media processed. Will check again in 1000ms 13:28:33.336 [debug] Current batch of media processed. Will check again in 1000ms 13:28:46.150 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:46.152 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:46.153 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:46.154 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:46.154 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:28:46.185 [debug] QUERY OK source="oban_jobs" db=10.7ms decode=0.2ms queue=60.0ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:28:46.187 [info] Reset 2 executing jobs 13:28:46.190 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:28:48.919 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:28:48.920 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:28:49.706 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:28:49.713 [debug] QUERY OK source="settings" db=1.3ms queue=0.9ms idle=1626.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:49.719 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1633.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.720 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:28:49.760 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:28:49.795 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:28:49.801 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:28:49.842 [info] {"args":{},"id":32,"meta":{},"system_time":1775957329841242493,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:28:49.844 [info] Updating yt-dlp 13:28:49.844 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:28:50.794 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957330793554860,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:28:50.801 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957330800999182,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:28:50.803 [debug] QUERY OK source="sources" db=4.8ms queue=2.4ms idle=957.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:28:50.813 [debug] QUERY OK source="sources" db=10.2ms queue=1.1ms idle=24.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:28:50.815 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=13.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:50.823 [debug] QUERY OK source="settings" db=6.6ms queue=1.7ms idle=19.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:50.834 [debug] QUERY OK source="media_profiles" db=5.8ms queue=0.7ms idle=24.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:50.836 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=21.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.839 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:28:50.841 [debug] QUERY OK source="settings" db=1.6ms queue=0.5ms idle=24.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:50.847 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:28:50.863 [debug] QUERY OK source="media_items" db=24.9ms queue=7.9ms idle=18.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")))) [1] 13:28:50.869 [debug] QUERY OK source="media_items" db=2.5ms queue=1.6ms idle=43.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:28:50.873 [debug] QUERY OK source="media_profiles" db=0.8ms queue=2.4ms idle=36.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:50.885 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=46.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.887 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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:28:50.900 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:28:50.904 [debug] Current batch of media processed. Will check again in 1000ms 13:28:50.905 [debug] QUERY OK source="settings" db=4.4ms queue=0.1ms idle=37.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.908 [debug] QUERY OK source="settings" db=0.5ms queue=1.3ms idle=37.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.912 [debug] QUERY OK source="settings" db=3.7ms queue=0.6ms idle=35.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:50.916 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d6/63/d6632f6d78f64d57717466824c8a7b61765133eddabb3e78786af5675cf36dea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:51.905 [debug] Current batch of media processed. Will check again in 1000ms 13:28:52.283 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=1369.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:28:52.287 [debug] QUERY OK source="settings" db=3.0ms queue=0.3ms idle=1376.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.290 [debug] QUERY OK source="settings" db=0.8ms queue=0.8ms idle=1375.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.290 [debug] Running yt-dlp command for action: get_media_attributes 13:28:52.298 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=508.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.300 [debug] QUERY OK source="settings" db=0.9ms idle=501.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:52.304 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms idle=18.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:52.308 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/cb/17/cb17abf7a4a1bba7c7f17e96e7a40f14e22b0ad77a9149b4c4af69af2c759ab8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:52.907 [debug] Current batch of media processed. Will check again in 1000ms 13:28:53.907 [debug] Current batch of media processed. Will check again in 1000ms 13:28:54.636 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:28:54.637 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:28:54.908 [debug] Current batch of media processed. Will check again in 1000ms 13:28:55.909 [debug] Current batch of media processed. Will check again in 1000ms 13:28:56.910 [debug] Current batch of media processed. Will check again in 1000ms 13:28:57.911 [debug] Current batch of media processed. Will check again in 1000ms 13:28:58.265 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:28:58.268 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=937.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.279 [info] {"args":{},"id":32,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8427420,"event":"job:stop","attempt":1,"queue_time":825045,"tags":["local_data"]} 13:28:58.913 [debug] Current batch of media processed. Will check again in 1000ms 13:28:59.916 [debug] Current batch of media processed. Will check again in 1000ms 13:29:10.904 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:10.905 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:10.905 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:10.905 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:10.913 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:10.949 [debug] QUERY OK source="oban_jobs" db=12.7ms decode=0.2ms queue=80.6ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:29:10.951 [info] Reset 2 executing jobs 13:29:10.955 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:29:13.874 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:29:13.876 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:29:14.695 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:29:14.705 [debug] QUERY OK source="settings" db=1.3ms queue=1.1ms idle=1867.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.712 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=1875.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.714 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:29:14.759 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:29:14.806 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:29:14.813 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:29:14.854 [info] {"args":{},"id":33,"meta":{},"system_time":1775957354852586665,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:29:14.857 [info] Updating yt-dlp 13:29:14.857 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:29:15.789 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957355788053829,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:29:15.794 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957355794516203,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:29:15.800 [debug] QUERY OK source="sources" db=0.9ms queue=1.3ms idle=20.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:29:15.804 [debug] QUERY OK source="sources" db=6.4ms queue=2.1ms idle=945.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:29:15.808 [debug] QUERY OK source="settings" db=2.5ms queue=0.3ms idle=14.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.810 [debug] QUERY OK source="settings" db=4.3ms queue=0.7ms idle=17.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:15.820 [debug] QUERY OK source="media_profiles" db=0.6ms queue=3.9ms idle=21.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:15.826 [debug] QUERY OK source="settings" db=4.1ms queue=0.1ms idle=23.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.832 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:29:15.833 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=24.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:15.841 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:29:15.881 [debug] QUERY OK source="media_items" db=39.8ms queue=13.6ms idle=23.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")))) [1] 13:29:15.887 [debug] QUERY OK source="media_items" db=1.6ms queue=3.3ms idle=71.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:29:15.889 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.1ms idle=67.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:15.898 [debug] QUERY OK source="settings" db=0.5ms queue=0.7ms idle=70.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.903 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=67.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.276 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:29:16.279 [debug] QUERY OK source="settings" db=2.8ms queue=0.3ms idle=395.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.284 [debug] QUERY OK source="settings" db=3.6ms queue=0.5ms idle=393.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.289 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=396.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.303 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/eb/f5/ebf592e1dc6f86755bf7f1140935628caeb1c1e20251483a698c63141bd4eb80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:29:16.306 [debug] Current batch of media processed. Will check again in 1000ms 13:29:17.175 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=889.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:29:17.183 [debug] QUERY OK source="settings" db=3.1ms queue=0.2ms idle=895.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.187 [debug] QUERY OK source="settings" db=3.0ms queue=0.2ms idle=894.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.188 [debug] Running yt-dlp command for action: get_media_attributes 13:29:17.194 [debug] QUERY OK source="settings" db=0.4ms idle=404.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.196 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=391.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.200 [debug] QUERY OK source="settings" db=3.5ms idle=22.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.201 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/df/5f/df5fc074c858d410ea6359b6f312a642f50ac32ee6525624bbee9266a8b367c3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:29:17.310 [debug] Current batch of media processed. Will check again in 1000ms 13:29:18.316 [debug] Current batch of media processed. Will check again in 1000ms 13:29:19.317 [debug] Current batch of media processed. Will check again in 1000ms 13:29:19.703 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:29:19.704 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:29:20.318 [debug] Current batch of media processed. Will check again in 1000ms 13:29:21.321 [debug] Current batch of media processed. Will check again in 1000ms 13:29:22.324 [debug] Current batch of media processed. Will check again in 1000ms 13:29:23.325 [debug] Current batch of media processed. Will check again in 1000ms 13:29:23.452 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:29:23.456 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=613.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.470 [info] {"args":{},"id":33,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8604286,"event":"job:stop","queue_time":835926,"attempt":1,"tags":["local_data"]} 13:29:24.327 [debug] Current batch of media processed. Will check again in 1000ms 13:29:36.281 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:36.283 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:36.290 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:36.291 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:36.290 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:29:36.321 [debug] QUERY OK source="oban_jobs" db=12.2ms decode=0.2ms queue=68.5ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:29:36.322 [info] Reset 2 executing jobs 13:29:36.328 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:29:39.313 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:29:39.315 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:29:40.131 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:29:40.141 [debug] QUERY OK source="settings" db=2.1ms queue=2.6ms idle=1925.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.147 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=1934.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.149 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:29:40.187 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:29:40.225 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:29:40.232 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:29:40.886 [info] {"args":{},"id":34,"meta":{},"system_time":1775957380884565697,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:29:40.889 [info] Updating yt-dlp 13:29:40.889 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:29:41.222 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957381219624986,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:29:41.225 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957381225252785,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:29:41.230 [debug] QUERY OK source="sources" db=2.6ms queue=3.4ms idle=342.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:29:41.234 [debug] QUERY OK source="settings" db=0.9ms queue=0.9ms idle=12.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:41.240 [debug] QUERY OK source="sources" db=13.1ms queue=1.4ms idle=18.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:29:41.244 [debug] QUERY OK source="settings" db=2.6ms queue=0.2ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:41.255 [debug] QUERY OK source="media_profiles" db=14.1ms queue=1.5ms idle=14.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:41.261 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=22.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.265 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:29:41.268 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=25.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:41.276 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:29:41.301 [debug] QUERY OK source="media_items" db=35.8ms queue=12.2ms idle=20.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")))) [1] 13:29:41.308 [debug] QUERY OK source="media_items" db=3.2ms queue=2.9ms idle=57.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:29:41.311 [debug] QUERY OK source="media_profiles" db=2.3ms queue=0.1ms idle=55.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:41.319 [debug] QUERY OK source="settings" db=0.7ms queue=1.1ms idle=56.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.322 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=54.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.332 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:29:41.334 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=31.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:41.338 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=29.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:41.341 [debug] Current batch of media processed. Will check again in 1000ms 13:29:41.344 [debug] QUERY OK source="settings" db=5.1ms idle=27.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.345 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/af/f5/aff514c1bc3df7a5e94bd765e87634cad90dba354b8a5dd1a729eeca32ecad24.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:29:42.344 [debug] Current batch of media processed. Will check again in 1000ms 13:29:43.055 [debug] QUERY OK source="media_items" db=7.9ms queue=0.2ms idle=1711.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:29:43.074 [debug] QUERY OK source="settings" db=9.3ms decode=0.1ms queue=1.3ms idle=1721.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.084 [debug] QUERY OK source="settings" db=8.1ms queue=1.5ms idle=1730.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.085 [debug] Running yt-dlp command for action: get_media_attributes 13:29:43.092 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=866.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.094 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=857.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.097 [debug] QUERY OK source="settings" db=1.3ms queue=0.6ms idle=40.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:43.099 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/90/0a/900aa995b0e60f255f3c9ed43a00c769f044fcc150e1fdf6d8d9d1abe3564796.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:29:43.345 [debug] Current batch of media processed. Will check again in 1000ms 13:29:44.346 [debug] Current batch of media processed. Will check again in 1000ms 13:29:45.349 [debug] Current batch of media processed. Will check again in 1000ms 13:29:46.355 [debug] Current batch of media processed. Will check again in 1000ms 13:29:47.356 [debug] Current batch of media processed. Will check again in 1000ms 13:29:48.365 [debug] Current batch of media processed. Will check again in 1000ms 13:29:49.367 [debug] Current batch of media processed. Will check again in 1000ms 13:29:50.371 [debug] Current batch of media processed. Will check again in 1000ms 13:29:50.542 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:29:50.549 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:29:51.373 [debug] Current batch of media processed. Will check again in 1000ms 13:29:52.375 [debug] Current batch of media processed. Will check again in 1000ms 13:29:53.380 [debug] Current batch of media processed. Will check again in 1000ms 13:29:54.384 [debug] Current batch of media processed. Will check again in 1000ms 13:29:55.387 [debug] Current batch of media processed. Will check again in 1000ms 13:29:55.748 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:29:55.761 [debug] QUERY OK source="settings" db=4.9ms queue=0.1ms idle=1522.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.781 [info] {"args":{},"id":34,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":14880557,"event":"job:stop","queue_time":255188,"attempt":1,"tags":["local_data"]} 13:29:56.389 [debug] Current batch of media processed. Will check again in 1000ms 13:30:11.003 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:11.004 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:11.004 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:11.004 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:11.005 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:11.034 [debug] QUERY OK source="oban_jobs" db=6.4ms decode=0.2ms queue=67.0ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:30:11.035 [info] Reset 2 executing jobs 13:30:11.038 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:30:13.756 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:30:13.757 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:30:14.553 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:30:14.562 [debug] QUERY OK source="settings" db=3.2ms queue=1.1ms idle=1622.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.569 [debug] QUERY OK source="settings" db=2.0ms decode=0.1ms queue=0.2ms idle=1631.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.571 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:30:14.617 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:30:14.648 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:30:14.655 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:30:14.700 [info] {"args":{},"id":35,"meta":{},"system_time":1775957414697989807,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:30:14.701 [info] Updating yt-dlp 13:30:14.702 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:30:15.641 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957415640865049,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:30:15.649 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957415649067546,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:30:15.653 [debug] QUERY OK source="sources" db=6.0ms queue=1.8ms idle=707.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:30:15.658 [debug] QUERY OK source="sources" db=2.4ms queue=5.7ms idle=27.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:30:15.660 [debug] QUERY OK source="settings" db=4.5ms queue=0.7ms idle=18.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:15.670 [debug] QUERY OK source="settings" db=8.1ms queue=3.2ms idle=18.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:15.680 [debug] QUERY OK source="media_profiles" db=11.0ms queue=4.5ms idle=16.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:15.682 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=23.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.692 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:30:15.694 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=31.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.715 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:30:15.767 [debug] QUERY OK source="media_items" db=68.1ms queue=20.5ms idle=25.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")))) [1] 13:30:15.780 [debug] QUERY OK source="media_items" db=9.6ms queue=1.8ms idle=98.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:30:15.788 [debug] QUERY OK source="media_profiles" db=1.7ms queue=2.6ms idle=103.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:15.800 [debug] QUERY OK source="settings" db=0.8ms queue=4.2ms idle=112.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.801 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=106.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.166 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:30:16.172 [debug] Current batch of media processed. Will check again in 1000ms 13:30:16.177 [debug] QUERY OK source="settings" db=7.8ms queue=1.0ms 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 [] 13:30:16.181 [debug] QUERY OK source="settings" db=2.8ms queue=0.2ms idle=397.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.184 [debug] QUERY OK source="settings" db=2.6ms queue=0.2ms idle=393.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.186 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/05/4b/054b5223b582e8e26a77993b61cb54c81ac7f01cf6f83f100f55bebaec97c5ea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:30:17.182 [debug] Current batch of media processed. Will check again in 1000ms 13:30:17.202 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=1020.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:30:17.208 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms idle=1023.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.210 [debug] QUERY OK source="settings" db=2.0ms queue=0.2ms idle=1024.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.211 [debug] Running yt-dlp command for action: get_media_attributes 13:30:17.218 [debug] QUERY OK source="settings" db=3.1ms idle=582.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.221 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=574.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.225 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=19.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:17.225 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d0/94/d094a9a8f8b0475b9a4c56cbb312539539d89dc960285e1150094fd9659bb001.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:30:18.183 [debug] Current batch of media processed. Will check again in 1000ms 13:30:19.184 [debug] Current batch of media processed. Will check again in 1000ms 13:30:19.530 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:30:19.531 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:30:20.189 [debug] Current batch of media processed. Will check again in 1000ms 13:30:21.191 [debug] Current batch of media processed. Will check again in 1000ms 13:30:22.194 [debug] Current batch of media processed. Will check again in 1000ms 13:30:23.196 [debug] Current batch of media processed. Will check again in 1000ms 13:30:23.311 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:30:23.319 [debug] QUERY OK source="settings" db=3.5ms queue=1.4ms idle=1145.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.339 [info] {"args":{},"id":35,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8625125,"event":"job:stop","queue_time":679177,"attempt":1,"tags":["local_data"]} 13:30:24.200 [debug] Current batch of media processed. Will check again in 1000ms 13:30:36.108 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:36.109 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:36.113 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:36.120 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:36.121 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:30:36.145 [debug] QUERY OK source="oban_jobs" db=10.7ms decode=0.2ms queue=66.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:30:36.146 [info] Reset 2 executing jobs 13:30:36.149 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:30:38.818 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:30:38.819 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:30:39.560 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:30:39.567 [debug] QUERY OK source="settings" db=1.3ms queue=1.2ms idle=1522.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.572 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1528.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.573 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:30:39.606 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:30:39.638 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:30:39.644 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:30:39.680 [info] {"args":{},"id":36,"meta":{},"system_time":1775957439679051350,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:30:39.682 [info] Updating yt-dlp 13:30:39.682 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:30:40.642 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957440640130400,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:30:40.649 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957440648750398,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:30:40.653 [debug] QUERY OK source="sources" db=5.8ms queue=0.8ms idle=970.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:30:40.659 [debug] QUERY OK source="sources" db=9.1ms queue=0.8ms idle=26.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:30:40.664 [debug] QUERY OK source="settings" db=6.3ms queue=3.3ms idle=15.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.667 [debug] QUERY OK source="settings" db=4.5ms queue=2.5ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:40.676 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.6ms idle=22.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:40.685 [debug] QUERY OK source="settings" db=7.4ms queue=0.1ms idle=24.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:40.688 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:30:40.690 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=24.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:40.699 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:30:40.757 [debug] QUERY OK source="media_items" db=61.2ms queue=12.2ms idle=23.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")))) [1] 13:30:40.765 [debug] QUERY OK source="media_items" db=4.5ms queue=2.2ms idle=91.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:30:40.771 [debug] QUERY OK source="media_profiles" db=1.9ms queue=2.0ms idle=90.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:40.783 [debug] QUERY OK source="settings" db=0.5ms queue=1.7ms idle=96.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.786 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=94.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.186 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:30:41.192 [debug] QUERY OK source="settings" db=3.9ms queue=0.5ms idle=431.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.198 [debug] QUERY OK source="settings" db=3.1ms queue=2.2ms idle=427.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.201 [debug] Current batch of media processed. Will check again in 1000ms 13:30:41.203 [debug] QUERY OK source="settings" db=3.1ms queue=0.7ms idle=428.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.209 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5e/05/5e05895ba44f4f2382413bb9b5d1b440a3f4331cdee60b14156afdd42687645e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:30:42.166 [debug] QUERY OK source="media_items" db=3.4ms queue=0.8ms idle=969.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:30:42.171 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms 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:30:42.174 [debug] QUERY OK source="settings" db=1.0ms queue=1.1ms idle=967.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.174 [debug] Running yt-dlp command for action: get_media_attributes 13:30:42.179 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=546.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.182 [debug] QUERY OK source="settings" db=2.2ms idle=536.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.185 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=16.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.186 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d6/df/d6df1132437de0a44c985385b7bf3bc5706c12f63e8934ac89eda161e2ac44b3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:30:42.205 [debug] Current batch of media processed. Will check again in 1000ms 13:30:43.206 [debug] Current batch of media processed. Will check again in 1000ms 13:30:44.207 [debug] Current batch of media processed. Will check again in 1000ms 13:30:44.664 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:30:44.665 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:30:45.209 [debug] Current batch of media processed. Will check again in 1000ms 13:30:46.212 [debug] Current batch of media processed. Will check again in 1000ms 13:30:47.218 [debug] Current batch of media processed. Will check again in 1000ms 13:30:48.220 [debug] Current batch of media processed. Will check again in 1000ms 13:30:49.224 [debug] Current batch of media processed. Will check again in 1000ms 13:30:50.228 [debug] Current batch of media processed. Will check again in 1000ms 13:30:50.238 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:30:50.244 [debug] QUERY OK source="settings" db=3.9ms queue=0.7ms idle=482.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.261 [info] {"args":{},"id":36,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":10570005,"event":"job:stop","queue_time":665032,"attempt":1,"tags":["local_data"]} 13:30:51.229 [debug] Current batch of media processed. Will check again in 1000ms 13:30:52.234 [debug] Current batch of media processed. Will check again in 1000ms 13:31:03.507 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:03.506 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:03.508 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:03.510 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:03.510 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:03.550 [debug] QUERY OK source="oban_jobs" db=12.2ms decode=0.2ms queue=70.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:31:03.553 [info] Reset 2 executing jobs 13:31:03.557 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:31:06.250 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:31:06.251 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:31:07.043 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:31:07.050 [debug] QUERY OK source="settings" db=1.8ms queue=1.1ms idle=1607.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.055 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=1613.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.057 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:31:07.097 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:31:07.122 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:31:07.128 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:31:07.163 [info] {"args":{},"id":37,"meta":{},"system_time":1775957467161636177,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:31:07.164 [info] Updating yt-dlp 13:31:07.164 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:31:08.122 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957468122492405,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:08.132 [debug] QUERY OK source="sources" db=1.9ms queue=2.2ms idle=687.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:31:08.138 [debug] QUERY OK source="settings" db=2.1ms queue=0.2ms idle=27.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.141 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957468138020584,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:31:08.145 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:31:08.148 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=15.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:08.152 [debug] QUERY OK source="media_profiles" db=5.2ms queue=3.5ms idle=13.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:31:08.159 [debug] QUERY OK source="settings" db=5.1ms queue=0.1ms idle=16.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:08.161 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:31:08.162 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=16.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.168 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:31:08.196 [debug] QUERY OK source="media_items" db=30.6ms queue=7.9ms idle=19.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")))) [1] 13:31:08.204 [debug] QUERY OK source="media_items" db=3.9ms queue=2.8ms idle=49.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:31:08.209 [debug] QUERY OK source="media_profiles" db=3.9ms queue=0.1ms idle=52.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:08.221 [debug] QUERY OK source="settings" db=2.5ms queue=0.9ms idle=58.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.224 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=59.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.536 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:31:08.538 [debug] QUERY OK source="settings" db=1.2ms queue=0.3ms 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 [] 13:31:08.540 [debug] Current batch of media processed. Will check again in 1000ms 13:31:08.542 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=334.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.544 [debug] QUERY OK source="settings" db=1.3ms queue=0.9ms idle=333.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:08.548 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fc/ae/fcae8134d761290e198ab53993e1dd657d278236643849da384aa4a0dca6f18d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:31:09.543 [debug] Current batch of media processed. Will check again in 1000ms 13:31:09.548 [debug] QUERY OK source="media_items" db=4.6ms queue=0.4ms idle=1004.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:31:09.553 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=1009.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.556 [debug] QUERY OK source="settings" db=1.0ms queue=1.5ms idle=1009.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.556 [debug] Running yt-dlp command for action: get_media_attributes 13:31:09.561 [debug] QUERY OK source="settings" db=0.9ms idle=443.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.563 [debug] QUERY OK source="settings" db=0.6ms idle=432.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.565 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=16.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:09.567 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/73/00/73006d29a2c6b337dc4275ff3253f499e4b1693c80681371a338dc5f41f86c6b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:31:10.544 [debug] Current batch of media processed. Will check again in 1000ms 13:31:11.548 [debug] Current batch of media processed. Will check again in 1000ms 13:31:11.907 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:31:11.908 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:31:12.550 [debug] Current batch of media processed. Will check again in 1000ms 13:31:13.551 [debug] Current batch of media processed. Will check again in 1000ms 13:31:14.552 [debug] Current batch of media processed. Will check again in 1000ms 13:31:15.553 [debug] Current batch of media processed. Will check again in 1000ms 13:31:15.599 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:31:15.601 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=415.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.609 [info] {"args":{},"id":37,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8440493,"event":"job:stop","attempt":1,"queue_time":148368,"tags":["local_data"]} 13:31:16.554 [debug] Current batch of media processed. Will check again in 1000ms 13:31:28.631 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:28.632 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:28.634 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:28.634 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:28.634 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:28.666 [debug] QUERY OK source="oban_jobs" db=10.2ms decode=0.2ms queue=68.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:31:28.666 [info] Reset 2 executing jobs 13:31:28.670 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:31:31.233 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:31:31.234 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:31:32.045 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:31:32.054 [debug] QUERY OK source="settings" db=1.3ms queue=1.5ms idle=1481.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:32.060 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=1489.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.062 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:31:32.105 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:31:32.135 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:31:32.142 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:31:32.184 [info] {"args":{},"id":38,"meta":{},"system_time":1775957492182622297,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:31:32.185 [info] Updating yt-dlp 13:31:32.186 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:31:33.130 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957493129503661,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:31:33.136 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957493136333507,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:33.138 [debug] QUERY OK source="sources" db=2.9ms queue=3.7ms idle=562.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:31:33.143 [debug] QUERY OK source="sources" db=5.3ms queue=0.7ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:31:33.146 [debug] QUERY OK source="settings" db=1.7ms queue=1.4ms idle=14.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:33.148 [debug] QUERY OK source="settings" db=3.1ms queue=2.1ms idle=16.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.164 [debug] QUERY OK source="media_profiles" db=1.0ms queue=7.4ms 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:31:33.168 [debug] QUERY OK source="settings" db=1.8ms queue=0.2ms idle=22.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.169 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:31:33.173 [debug] QUERY OK source="settings" db=3.9ms idle=22.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.183 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:31:33.189 [debug] QUERY OK source="media_items" db=24.1ms queue=8.0ms idle=18.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")))) [1] 13:31:33.193 [debug] QUERY OK source="media_items" db=2.4ms queue=0.7ms idle=41.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:31:33.196 [debug] QUERY OK source="media_profiles" db=2.2ms queue=0.1ms idle=32.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:33.205 [debug] QUERY OK source="settings" db=1.4ms queue=1.1ms idle=35.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.214 [debug] QUERY OK source="settings" db=7.2ms queue=1.7ms idle=31.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.230 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:31:33.233 [debug] QUERY OK source="settings" db=0.4ms queue=2.1ms idle=41.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.234 [debug] QUERY OK source="settings" db=0.2ms idle=41.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.236 [debug] Current batch of media processed. Will check again in 1000ms 13:31:33.238 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=39.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:33.241 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/40/10/4010fb439e6cf41e0d53bad13218f71231b6d7c10ceb543f4d77aab49558a450.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:31:34.238 [debug] Current batch of media processed. Will check again in 1000ms 13:31:34.496 [debug] QUERY OK source="media_items" db=8.4ms queue=0.1ms idle=1253.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:31:34.503 [debug] QUERY OK source="settings" db=0.8ms queue=2.2ms idle=1264.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.508 [debug] QUERY OK source="settings" db=1.4ms queue=2.2ms idle=1266.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.508 [debug] Running yt-dlp command for action: get_media_attributes 13:31:34.517 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=389.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.520 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=380.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.524 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=25.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:34.526 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/21/c7/21c76005bb04e79350824796bd8aee4828a2172bf27403bdd40ea66efffebf60.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:31:35.239 [debug] Current batch of media processed. Will check again in 1000ms 13:31:36.241 [debug] Current batch of media processed. Will check again in 1000ms 13:31:37.242 [debug] Current batch of media processed. Will check again in 1000ms 13:31:37.266 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:31:37.266 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:31:38.244 [debug] Current batch of media processed. Will check again in 1000ms 13:31:39.246 [debug] Current batch of media processed. Will check again in 1000ms 13:31:40.248 [debug] Current batch of media processed. Will check again in 1000ms 13:31:40.837 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:31:40.839 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=1264.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.847 [info] {"args":{},"id":38,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8657691,"event":"job:stop","queue_time":164852,"attempt":1,"tags":["local_data"]} 13:31:41.250 [debug] Current batch of media processed. Will check again in 1000ms 13:31:42.252 [debug] Current batch of media processed. Will check again in 1000ms 13:31:54.598 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:54.599 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:54.601 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:54.601 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:54.601 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:31:54.637 [debug] QUERY OK source="oban_jobs" db=12.0ms decode=0.8ms queue=66.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:31:54.638 [info] Reset 2 executing jobs 13:31:54.643 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:31:57.364 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:31:57.365 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:31:58.096 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:31:58.103 [debug] QUERY OK source="settings" db=1.4ms queue=1.2ms idle=1561.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.107 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1568.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.109 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:31:58.147 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:31:58.176 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:31:58.182 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:31:58.219 [info] {"args":{},"id":39,"meta":{},"system_time":1775957518218180295,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:31:58.221 [info] Updating yt-dlp 13:31:58.221 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:31:59.178 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957519177129056,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:31:59.182 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957519179281381,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:59.189 [debug] QUERY OK source="sources" db=3.0ms queue=2.8ms idle=643.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:31:59.190 [debug] QUERY OK source="sources" db=5.2ms queue=2.0ms idle=25.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:31:59.197 [debug] QUERY OK source="settings" db=2.0ms queue=1.0ms idle=22.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.198 [debug] QUERY OK source="settings" db=3.9ms idle=18.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:59.214 [debug] QUERY OK source="media_profiles" db=2.6ms queue=2.8ms idle=30.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:59.218 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=26.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.219 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:31:59.222 [debug] QUERY OK source="settings" db=1.4ms queue=0.9ms idle=22.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.228 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:31:59.263 [debug] QUERY OK source="media_items" db=45.6ms queue=4.9ms idle=24.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")))) [1] 13:31:59.269 [debug] QUERY OK source="media_items" db=2.3ms queue=2.9ms idle=65.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:31:59.271 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.2ms idle=55.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:59.284 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=63.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:59.288 [debug] QUERY OK source="settings" db=2.6ms queue=0.3ms idle=63.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:59.612 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:31:59.613 [debug] Current batch of media processed. Will check again in 1000ms 13:31:59.617 [debug] QUERY OK source="settings" db=4.1ms queue=0.6ms idle=350.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.621 [debug] QUERY OK source="settings" db=1.8ms queue=1.8ms idle=348.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.624 [debug] QUERY OK source="settings" db=0.8ms queue=1.8ms idle=350.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.627 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c9/fa/c9fa5ec10c4b9f4e810c99e6cb35906465acfa52536a4d6ec2cd2921cb8cf99b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:00.146 [info] {"source":"oban","duration":4809,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:32:00.564 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=938.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:32:00.574 [debug] QUERY OK source="settings" db=4.6ms queue=2.4ms idle=941.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.578 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=428.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.578 [debug] Running yt-dlp command for action: get_media_attributes 13:32:00.589 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=417.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:00.595 [debug] QUERY OK source="settings" db=2.3ms queue=0.4ms idle=409.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.604 [debug] QUERY OK source="settings" db=7.8ms queue=0.3ms idle=32.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:00.606 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/35/58/3558a72978362d81a835e189996f263213d6e14c84fb93e9ca9beeedf5787b10.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:00.615 [debug] Current batch of media processed. Will check again in 1000ms 13:32:01.619 [debug] Current batch of media processed. Will check again in 1000ms 13:32:02.622 [debug] Current batch of media processed. Will check again in 1000ms 13:32:03.134 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:32:03.136 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:32:03.625 [debug] Current batch of media processed. Will check again in 1000ms 13:32:04.629 [debug] Current batch of media processed. Will check again in 1000ms 13:32:05.631 [debug] Current batch of media processed. Will check again in 1000ms 13:32:06.634 [debug] Current batch of media processed. Will check again in 1000ms 13:32:06.847 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:32:06.850 [debug] QUERY OK source="settings" db=1.7ms queue=0.2ms idle=1300.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.858 [info] {"args":{},"id":39,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8633191,"event":"job:stop","queue_time":203455,"attempt":1,"tags":["local_data"]} 13:32:07.638 [debug] Current batch of media processed. Will check again in 1000ms 13:32:19.555 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:19.562 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:19.565 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:19.566 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:19.575 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:19.592 [debug] QUERY OK source="oban_jobs" db=9.5ms decode=0.9ms queue=74.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:32:19.592 [info] Reset 2 executing jobs 13:32:19.595 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:32:22.295 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:32:22.297 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:32:23.049 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:32:23.057 [debug] QUERY OK source="settings" db=1.1ms queue=0.8ms idle=1566.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.061 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1571.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.062 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:23.102 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:32:23.127 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:32:23.133 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:32:23.166 [info] {"args":{},"id":40,"meta":{},"system_time":1775957543165311728,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:32:23.167 [info] Updating yt-dlp 13:32:23.168 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:32:24.128 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957544126031815,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:24.133 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957544132875333,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:32:24.139 [debug] QUERY OK source="sources" db=1.8ms queue=2.3ms idle=644.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:32:24.141 [debug] QUERY OK source="sources" db=2.2ms queue=0.8ms idle=27.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:32:24.147 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=14.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.149 [debug] QUERY OK source="settings" db=3.1ms queue=0.6ms idle=20.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:24.161 [debug] QUERY OK source="media_profiles" db=0.8ms queue=2.8ms idle=24.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:24.170 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=26.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:24.174 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:32:24.179 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=26.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.187 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:32:24.210 [debug] QUERY OK source="media_items" db=29.4ms queue=15.3ms idle=26.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 13:32:24.224 [debug] QUERY OK source="media_items" db=5.8ms queue=5.5ms idle=63.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:32:24.229 [debug] QUERY OK source="media_profiles" db=0.9ms queue=3.1ms idle=64.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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.243 [debug] QUERY OK source="settings" db=2.5ms queue=0.2ms idle=70.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:24.248 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=70.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.273 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:32:24.278 [debug] QUERY OK source="settings" db=1.3ms queue=2.5ms idle=64.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.282 [debug] QUERY OK source="settings" db=1.0ms queue=2.3ms idle=54.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.285 [debug] Current batch of media processed. Will check again in 1000ms 13:32:24.291 [debug] QUERY OK source="settings" db=7.5ms queue=0.8ms idle=53.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.296 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e2/2b/e22b5ed0a5b9601fdc72d274385b727afd8dfefc35725126a69ba58870b52101.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:25.286 [debug] Current batch of media processed. Will check again in 1000ms 13:32:25.753 [debug] QUERY OK source="media_items" db=3.4ms queue=0.2ms idle=1470.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:32:25.757 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=1473.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.759 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1467.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.760 [debug] Running yt-dlp command for action: get_media_attributes 13:32:25.765 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=637.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.767 [debug] QUERY OK source="settings" db=1.5ms idle=627.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.770 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=14.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.773 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/82/44/824417cea7eed6226d36eed1d1551e76938c2223205f592571f321b8a88a2101.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:26.288 [debug] Current batch of media processed. Will check again in 1000ms 13:32:27.291 [debug] Current batch of media processed. Will check again in 1000ms 13:32:27.990 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:32:27.992 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:32:28.294 [debug] Current batch of media processed. Will check again in 1000ms 13:32:29.297 [debug] Current batch of media processed. Will check again in 1000ms 13:32:30.301 [debug] Current batch of media processed. Will check again in 1000ms 13:32:31.303 [debug] Current batch of media processed. Will check again in 1000ms 13:32:31.524 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:32:31.526 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=754.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.545 [info] {"args":{},"id":40,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8362342,"event":"job:stop","queue_time":152212,"attempt":1,"tags":["local_data"]} 13:32:32.305 [debug] Current batch of media processed. Will check again in 1000ms 13:32:33.306 [debug] Current batch of media processed. Will check again in 1000ms 13:32:44.806 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:44.807 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:44.807 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:44.807 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:44.807 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:32:44.842 [debug] QUERY OK source="oban_jobs" db=10.1ms decode=0.1ms queue=56.0ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:32:44.843 [info] Reset 2 executing jobs 13:32:44.845 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:32:47.530 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:32:47.531 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:32:48.300 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:32:48.309 [debug] QUERY OK source="settings" db=1.6ms queue=1.1ms idle=1563.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.314 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1570.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.317 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:48.360 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:32:48.394 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:32:48.401 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:32:48.441 [info] {"args":{},"id":41,"meta":{},"system_time":1775957568439383442,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:32:48.442 [info] Updating yt-dlp 13:32:48.443 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:32:49.393 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957569392350375,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:49.399 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957569399098396,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:32:49.402 [debug] QUERY OK source="sources" db=6.0ms queue=1.1ms idle=651.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:32:49.413 [debug] QUERY OK source="settings" db=2.0ms queue=0.5ms idle=19.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:49.415 [debug] QUERY OK source="sources" db=6.9ms queue=2.8ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:32:49.421 [debug] QUERY OK source="settings" db=1.4ms queue=1.7ms idle=19.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:49.427 [debug] QUERY OK source="media_profiles" db=6.9ms queue=0.7ms idle=17.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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.433 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=22.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:49.441 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:32:49.442 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=26.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:49.450 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:32:49.486 [debug] QUERY OK source="media_items" db=34.9ms queue=11.0ms idle=24.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")))) [1] 13:32:49.492 [debug] QUERY OK source="media_items" db=2.7ms queue=2.5ms idle=66.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:32:49.499 [debug] QUERY OK source="media_profiles" db=3.5ms queue=0.2ms idle=68.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:49.513 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms 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 [] 13:32:49.516 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=71.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.531 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:32:49.535 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=47.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.536 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=43.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.541 [debug] Current batch of media processed. Will check again in 1000ms 13:32:49.542 [debug] QUERY OK source="settings" db=4.9ms queue=0.1ms idle=37.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.548 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/04/7b/047b74ed2be731177a2bca41cde5117a10164ee0b86b7c9650bf9cd0f4216663.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:50.542 [debug] Current batch of media processed. Will check again in 1000ms 13:32:50.986 [debug] QUERY OK source="media_items" db=5.7ms queue=1.4ms idle=592.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:32:50.994 [debug] QUERY OK source="settings" db=3.2ms queue=0.8ms idle=596.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.995 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=251.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.996 [debug] Running yt-dlp command for action: get_media_attributes 13:32:51.004 [debug] QUERY OK source="settings" db=1.1ms queue=2.2ms idle=257.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.005 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=261.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.010 [debug] QUERY OK source="settings" db=4.2ms 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 [] 13:32:51.011 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/4f/ed/4fede49bc5035084cc23dd7897905fa8823a3d67b866b427dfd7a3641e978323.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:51.543 [debug] Current batch of media processed. Will check again in 1000ms 13:32:52.546 [debug] Current batch of media processed. Will check again in 1000ms 13:32:53.443 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:32:53.444 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:32:53.549 [debug] Current batch of media processed. Will check again in 1000ms 13:32:54.550 [debug] Current batch of media processed. Will check again in 1000ms 13:32:55.551 [debug] Current batch of media processed. Will check again in 1000ms 13:32:56.554 [debug] Current batch of media processed. Will check again in 1000ms 13:32:57.048 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:32:57.050 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=1298.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.064 [info] {"args":{},"id":41,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8611548,"event":"job:stop","queue_time":422380,"attempt":1,"tags":["local_data"]} 13:32:57.555 [debug] Current batch of media processed. Will check again in 1000ms 13:32:58.560 [debug] Current batch of media processed. Will check again in 1000ms 13:33:10.291 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:10.292 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:10.293 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:10.292 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:10.293 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:10.329 [debug] QUERY OK source="oban_jobs" db=11.6ms decode=0.2ms queue=62.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:33:10.330 [info] Reset 2 executing jobs 13:33:10.333 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:33:13.154 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:33:13.156 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:33:14.057 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:33:14.066 [debug] QUERY OK source="settings" db=1.4ms queue=1.0ms idle=1844.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.074 [debug] QUERY OK source="settings" db=2.0ms queue=0.2ms idle=1852.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.077 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:33:14.127 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:33:14.160 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:33:14.167 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:33:14.209 [info] {"args":{},"id":42,"meta":{},"system_time":1775957594208281949,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:33:14.211 [info] Updating yt-dlp 13:33:14.212 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:33:15.144 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957595144112823,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:33:15.152 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957595152101301,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:33:15.157 [debug] QUERY OK source="sources" db=6.8ms queue=5.0ms idle=927.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:33:15.164 [debug] QUERY OK source="sources" db=5.5ms queue=2.4ms 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" = ?) [1] 13:33:15.167 [debug] QUERY OK source="settings" db=1.9ms queue=0.3ms idle=21.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.169 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=15.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.178 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.6ms idle=24.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:15.185 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=24.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:15.189 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:33:15.193 [debug] QUERY OK source="settings" db=3.2ms queue=0.2ms idle=21.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.205 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:33:15.254 [debug] QUERY OK source="media_items" db=52.0ms queue=13.2ms idle=27.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")))) [1] 13:33:15.265 [debug] QUERY OK source="media_items" db=6.0ms queue=1.6ms idle=87.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:33:15.268 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.5ms idle=87.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:15.285 [debug] QUERY OK source="settings" db=1.8ms queue=3.8ms 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 [] 13:33:15.290 [debug] QUERY OK source="settings" db=2.4ms queue=0.2ms idle=94.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.691 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:33:15.693 [debug] Current batch of media processed. Will check again in 1000ms 13:33:15.696 [debug] QUERY OK source="settings" db=4.3ms queue=0.2ms idle=437.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.702 [debug] QUERY OK source="settings" db=1.7ms queue=3.4ms idle=431.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.705 [debug] QUERY OK source="settings" db=1.0ms queue=1.7ms idle=434.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.711 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/51/fe/51fe1e6680e8390d17ec42c2ce5f0b64766c417c7de5812e4fc271513d354a2a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:33:16.600 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=901.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:33:16.606 [debug] QUERY OK source="settings" db=3.8ms queue=0.1ms idle=900.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.607 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=901.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.607 [debug] Running yt-dlp command for action: get_media_attributes 13:33:16.614 [debug] QUERY OK source="settings" db=0.4ms idle=469.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.616 [debug] QUERY OK source="settings" db=1.5ms idle=460.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:16.620 [debug] QUERY OK source="settings" db=3.5ms idle=16.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:16.620 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/cd/32/cd3237eda251b1093286325a28ff3aa9b64bf6c6596f7a8b027b5d2b46f12da2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:33:16.693 [debug] Current batch of media processed. Will check again in 1000ms 13:33:17.694 [debug] Current batch of media processed. Will check again in 1000ms 13:33:18.697 [debug] Current batch of media processed. Will check again in 1000ms 13:33:19.118 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:33:19.119 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:33:19.701 [debug] Current batch of media processed. Will check again in 1000ms 13:33:20.702 [debug] Current batch of media processed. Will check again in 1000ms 13:33:21.703 [debug] Current batch of media processed. Will check again in 1000ms 13:33:22.704 [debug] Current batch of media processed. Will check again in 1000ms 13:33:22.808 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:33:22.810 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=1582.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:22.818 [info] {"args":{},"id":42,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8603254,"event":"job:stop","queue_time":191005,"attempt":1,"tags":["local_data"]} 13:33:23.707 [debug] Current batch of media processed. Will check again in 1000ms 13:33:35.709 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:35.710 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:35.721 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:35.731 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:35.735 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:33:35.757 [debug] QUERY OK source="oban_jobs" db=12.3ms decode=0.2ms queue=71.2ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:33:35.759 [info] Reset 2 executing jobs 13:33:35.761 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:33:38.543 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:33:38.544 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:33:39.345 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:33:39.352 [debug] QUERY OK source="settings" db=1.1ms queue=1.5ms idle=1700.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.356 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1707.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.357 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:33:39.391 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:33:39.421 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:33:39.427 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:33:39.460 [info] {"args":{},"id":43,"meta":{},"system_time":1775957619459169060,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:33:39.462 [info] Updating yt-dlp 13:33:39.462 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:33:40.418 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957620417606410,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:33:40.427 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957620427259594,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:33:40.430 [debug] QUERY OK source="sources" db=3.5ms queue=2.2ms idle=772.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:33:40.436 [debug] QUERY OK source="sources" db=7.3ms queue=0.9ms idle=23.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:33:40.439 [debug] QUERY OK source="settings" db=1.4ms queue=0.2ms idle=20.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:40.444 [debug] QUERY OK source="settings" db=6.1ms queue=0.1ms idle=16.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.453 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.7ms idle=22.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:33:40.457 [debug] QUERY OK source="settings" db=1.6ms queue=0.8ms idle=24.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:40.460 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:33:40.461 [debug] QUERY OK source="settings" db=0.5ms idle=21.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.469 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:33:40.488 [debug] QUERY OK source="media_items" db=21.8ms queue=10.9ms idle=20.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")))) [1] 13:33:40.495 [debug] QUERY OK source="media_items" db=2.5ms queue=3.1ms idle=44.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:33:40.499 [debug] QUERY OK source="media_profiles" db=1.7ms queue=1.0ms idle=43.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:40.513 [debug] QUERY OK source="settings" db=1.0ms queue=0.9ms idle=54.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.521 [debug] QUERY OK source="settings" db=4.8ms queue=0.1ms 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:40.538 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:33:40.542 [debug] QUERY OK source="settings" db=0.5ms queue=1.8ms idle=53.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:40.545 [debug] Current batch of media processed. Will check again in 1000ms 13:33:40.545 [debug] QUERY OK source="settings" db=1.3ms queue=1.0ms idle=48.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.550 [debug] QUERY OK source="settings" db=2.1ms queue=2.2ms idle=46.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.555 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ae/5d/ae5d4ed2544e905f2cd76750c1893d74e322ece1af37a7c496b0be62075823b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:33:41.547 [debug] Current batch of media processed. Will check again in 1000ms 13:33:42.040 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=577.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:33:42.045 [debug] QUERY OK source="settings" db=2.4ms queue=0.9ms idle=569.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.047 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=391.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.047 [debug] Running yt-dlp command for action: get_media_attributes 13:33:42.052 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=397.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.054 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=398.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.056 [debug] QUERY OK source="settings" db=1.1ms idle=15.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.056 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d3/9a/d39ad50bcde1be84919841ede13a039349fb1755fef4c1948eba39f6ff9f66e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:33:42.548 [debug] Current batch of media processed. Will check again in 1000ms 13:33:43.549 [debug] Current batch of media processed. Will check again in 1000ms 13:33:44.550 [debug] Current batch of media processed. Will check again in 1000ms 13:33:44.635 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:33:44.638 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:33:45.554 [debug] Current batch of media processed. Will check again in 1000ms 13:33:46.555 [debug] Current batch of media processed. Will check again in 1000ms 13:33:47.557 [debug] Current batch of media processed. Will check again in 1000ms 13:33:48.345 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:33:48.349 [debug] QUERY OK source="settings" db=1.6ms queue=0.3ms idle=797.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:48.392 [info] {"args":{},"id":43,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8891035,"event":"job:stop","queue_time":445807,"attempt":1,"tags":["local_data"]} 13:33:48.558 [debug] Current batch of media processed. Will check again in 1000ms 13:33:49.561 [debug] Current batch of media processed. Will check again in 1000ms 13:34:01.552 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:01.553 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:01.554 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:01.554 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:01.554 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:01.586 [debug] QUERY OK source="oban_jobs" db=10.7ms decode=0.1ms queue=65.0ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:34:01.587 [info] Reset 2 executing jobs 13:34:01.589 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:34:04.265 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:34:04.267 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:34:05.095 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:34:05.108 [debug] QUERY OK source="settings" db=2.9ms queue=1.3ms idle=1612.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:05.116 [debug] QUERY OK source="settings" db=1.2ms queue=0.6ms idle=1622.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:05.121 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:34:05.169 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:34:05.199 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:34:05.205 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:34:05.246 [info] {"args":{},"id":44,"meta":{},"system_time":1775957645243778126,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:34:05.247 [info] Updating yt-dlp 13:34:05.248 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:34:06.194 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957646193546318,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":18,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:06.203 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957646203067214,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":18,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:34:06.206 [debug] QUERY OK source="sources" db=3.3ms queue=4.5ms idle=704.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:34:06.211 [debug] QUERY OK source="sources" db=5.6ms queue=1.4ms idle=23.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:34:06.216 [debug] QUERY OK source="settings" db=6.9ms queue=1.6ms idle=17.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:06.221 [debug] QUERY OK source="settings" db=6.7ms queue=2.4ms idle=18.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:06.231 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.6ms idle=26.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:06.237 [debug] QUERY OK source="settings" db=4.5ms queue=0.1ms idle=26.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:06.239 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:34:06.242 [debug] QUERY OK source="settings" db=2.4ms idle=23.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:06.249 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:34:06.307 [debug] QUERY OK source="media_items" db=62.2ms queue=10.5ms idle=23.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")))) [1] 13:34:06.314 [debug] QUERY OK source="media_items" db=4.6ms queue=0.9ms idle=87.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:34:06.318 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=86.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:06.330 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=92.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:06.333 [debug] QUERY OK source="settings" db=1.3ms queue=0.9ms 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:34:06.702 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:34:06.703 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms 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 [] 13:34:06.708 [debug] QUERY OK source="settings" db=2.8ms queue=1.4ms idle=389.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:06.715 [debug] QUERY OK source="settings" db=3.6ms queue=0.1ms idle=392.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:06.719 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/58/2d/582dcb4fc9cf4b2faa3cb11b7958416b74fafe71a5a12f41a5f40a7d0e6b7b23.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:34:06.721 [debug] Current batch of media processed. Will check again in 1000ms 13:34:07.662 [debug] QUERY OK source="media_items" db=5.4ms queue=0.1ms idle=953.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:34:07.667 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=958.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:07.668 [debug] QUERY OK source="settings" db=0.3ms idle=952.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:07.668 [debug] Running yt-dlp command for action: get_media_attributes 13:34:07.672 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=480.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:07.675 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=472.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:07.676 [debug] QUERY OK source="settings" db=0.9ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:07.677 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/bf/c5/bfc5468bac868ee8169b79d348e908b927c610d624d5578f8f6e755c33e79c7b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:34:07.721 [debug] Current batch of media processed. Will check again in 1000ms 13:34:08.727 [debug] Current batch of media processed. Will check again in 1000ms 13:34:09.730 [debug] Current batch of media processed. Will check again in 1000ms 13:34:09.893 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:34:09.894 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:34:10.733 [debug] Current batch of media processed. Will check again in 1000ms 13:34:11.736 [debug] Current batch of media processed. Will check again in 1000ms 13:34:12.738 [debug] Current batch of media processed. Will check again in 1000ms 13:34:13.741 [debug] Current batch of media processed. Will check again in 1000ms 13:34:13.860 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:34:13.862 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=1159.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:13.872 [info] {"args":{},"id":44,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8619659,"event":"job:stop","queue_time":227962,"attempt":1,"tags":["local_data"]} 13:34:14.744 [debug] Current batch of media processed. Will check again in 1000ms 13:34:15.745 [debug] Current batch of media processed. Will check again in 1000ms 13:34:27.191 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:27.196 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:27.198 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:27.200 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:27.201 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:27.235 [debug] QUERY OK source="oban_jobs" db=9.9ms decode=0.7ms queue=84.1ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:34:27.236 [info] Reset 2 executing jobs 13:34:27.242 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:34:30.214 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:34:30.216 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:34:31.008 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:34:31.020 [debug] QUERY OK source="settings" db=3.8ms queue=1.7ms idle=1899.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:31.026 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1910.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:31.028 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:34:31.082 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:34:31.113 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:34:31.121 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:34:31.195 [info] {"args":{},"id":45,"meta":{},"system_time":1775957671193756965,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:34:31.197 [info] Updating yt-dlp 13:34:31.197 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:34:32.098 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957672097840555,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":19,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:32.108 [debug] QUERY OK source="sources" db=3.4ms queue=4.1ms idle=910.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:34:32.109 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957672106747621,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":19,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:34:32.114 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=29.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:34:32.118 [debug] QUERY OK source="settings" db=5.0ms queue=0.8ms idle=18.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:32.121 [debug] QUERY OK source="settings" db=6.3ms idle=17.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:32.130 [debug] QUERY OK source="media_profiles" db=2.4ms queue=1.0ms idle=20.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:34:32.135 [debug] QUERY OK source="settings" db=1.2ms queue=0.8ms idle=25.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:32.138 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:34:32.143 [debug] QUERY OK source="settings" db=2.9ms idle=20.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:32.151 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:34:32.174 [debug] QUERY OK source="media_items" db=28.6ms queue=9.4ms idle=21.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")))) [1] 13:34:32.178 [debug] QUERY OK source="media_items" db=1.7ms queue=1.7ms idle=53.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:34:32.181 [debug] QUERY OK source="media_profiles" db=2.4ms queue=0.1ms idle=48.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:34:32.198 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=62.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:32.201 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=57.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:32.222 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:34:32.222 [debug] Current batch of media processed. Will check again in 1000ms 13:34:32.226 [debug] QUERY OK source="settings" db=1.5ms queue=2.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:34:32.231 [debug] QUERY OK source="settings" db=4.2ms queue=0.1ms idle=48.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:32.236 [debug] QUERY OK source="settings" db=5.0ms queue=0.1ms idle=49.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:32.240 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fc/a7/fca7ed1d8e65872b2a43b24b3337711ea458f4fcf4c7c58c421716657e66d2e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:34:33.226 [debug] Current batch of media processed. Will check again in 1000ms 13:34:33.766 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=1534.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:34:33.770 [debug] QUERY OK source="settings" db=3.3ms idle=1536.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:33.771 [debug] QUERY OK source="settings" db=0.4ms idle=1534.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:33.772 [debug] Running yt-dlp command for action: get_media_attributes 13:34:33.780 [debug] QUERY OK source="settings" db=2.7ms idle=655.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:33.781 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=619.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:33.783 [debug] QUERY OK source="settings" db=1.4ms idle=16.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:33.784 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a8/87/a88729a813410facaffd4f49400cf4dc7c776fcd8c4952cebe11ee942d965510.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:34:34.229 [debug] Current batch of media processed. Will check again in 1000ms 13:34:35.231 [debug] Current batch of media processed. Will check again in 1000ms 13:34:36.127 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:34:36.127 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:34:36.234 [debug] Current batch of media processed. Will check again in 1000ms 13:34:37.239 [debug] Current batch of media processed. Will check again in 1000ms 13:34:38.241 [debug] Current batch of media processed. Will check again in 1000ms 13:34:39.245 [debug] Current batch of media processed. Will check again in 1000ms 13:34:39.674 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:34:39.675 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=560.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:39.695 [info] {"args":{},"id":45,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8482716,"event":"job:stop","queue_time":165856,"attempt":1,"tags":["local_data"]} 13:34:40.246 [debug] Current batch of media processed. Will check again in 1000ms 13:34:41.247 [debug] Current batch of media processed. Will check again in 1000ms 13:34:53.040 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:53.041 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:53.041 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:53.041 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:53.041 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:34:53.075 [debug] QUERY OK source="oban_jobs" db=10.8ms decode=0.2ms queue=68.4ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:34:53.076 [info] Reset 2 executing jobs 13:34:53.078 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:34:55.762 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:34:55.764 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:34:56.582 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:34:56.590 [debug] QUERY OK source="settings" db=1.5ms queue=1.1ms idle=1611.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:56.597 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1620.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:56.598 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:34:56.645 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:34:56.678 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:34:56.685 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:34:56.743 [info] {"args":{},"id":46,"meta":{},"system_time":1775957696741363065,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:34:56.745 [info] Updating yt-dlp 13:34:56.745 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:34:57.670 [info] {"args":{"id":1},"id":27,"meta":{},"system_time":1775957697668874437,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":20,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:57.679 [debug] QUERY OK source="sources" db=1.7ms queue=1.8ms idle=698.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:34:57.685 [info] {"args":{"id":1},"id":26,"meta":{},"system_time":1775957697685245993,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":20,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:34:57.689 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms idle=18.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:34:57.692 [debug] QUERY OK source="settings" db=2.7ms queue=4.5ms idle=29.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:57.693 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=13.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:57.708 [debug] QUERY OK source="media_profiles" db=2.2ms queue=3.5ms idle=23.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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.714 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=28.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:57.724 [debug] Fetching recent media IDs from YouTube API for playlist: UULtREJY21xRfCuEKvdki1Kw 13:34:57.730 [debug] QUERY OK source="settings" db=5.8ms queue=0.1ms idle=32.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:57.741 [debug] Using YouTube API key: AIzaSyB8Lag5F__oCbDIjjUKulU5h1QdLbtofVs 13:34:57.754 [debug] QUERY OK source="media_items" db=27.2ms queue=14.0ms idle=23.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")))) [1] 13:34:57.762 [debug] QUERY OK source="media_items" db=4.7ms queue=1.8ms idle=62.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:34:57.766 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.1ms idle=56.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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.782 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=64.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:57.786 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=52.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:57.800 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:34:57.806 [debug] QUERY OK source="settings" db=0.5ms queue=4.0ms idle=47.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:57.807 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=44.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:57.813 [debug] QUERY OK source="settings" db=4.1ms queue=1.5ms idle=40.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:57.817 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9c/c0/9cc07fab96e917d6e61680c1fa8677d039a1df03ee68b897b6703ae8f169e276.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:34:57.818 [debug] Current batch of media processed. Will check again in 1000ms 13:34:58.820 [debug] Current batch of media processed. Will check again in 1000ms 13:34:59.154 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=1344.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "jGykocIEqBg", "oDdSqL-bjK4", "YeRALwASMPo", "uRbapnp_kMw", "wlOr6pk6BIc", "23aRk9HoxDc", "N12ChAYyxoE", "rjCKWnRQFec", "2IKQC-M42zE", "n3sfEH_f6RM", "80deXlzpj3g", "l-3PoO55chc", "BX6L_DERLPI", "SDCrol04pLA", "YOEloJ7Qrrc", "UQVtBTFRobk", "miHyJjBiLro", "AxQABlS25Q0", "ZwINETq7IyI", "tabLWEW7EAs", "Hc7-Yr9pQls", "20qzeQwNKLo", "lG1HVOnc8BE", "TS4GmJzhhSw", "X_37OoQPq_U", "WDVvIXZjIII", "a4GjL9G1jIs", "Z9UFfLWOR9Q", "TmUY7vdu5HM", "knm7aCBcMQ4", "VV1E79oZ-jw", "G6-FljSItB4", "jXzaAtqhWjc", "UR9jOsyynbA", "wyRjIZl-QNQ", "l7OUw3FK3E8", "cpAaUsWsHi0", "1mImj_JnP90", "KviH1YCNhvo", "pgrpQiS3QWI", "Wal8XoYtw5o", "Gi6FsMCe8ag", "rFlMgzbs0Zk", "CmcgycEEVF0", "Po53B8eRs0I", "6-wj1cSrsVE", "6IJoNoE73Wg", "ovYnMGOJ6ys", "u9aJYSCR72Q", ...] 13:34:59.159 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=1348.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:59.164 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=1348.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:59.164 [debug] Running yt-dlp command for action: get_media_attributes 13:34:59.169 [debug] QUERY OK source="settings" db=1.2ms idle=505.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:59.172 [debug] QUERY OK source="settings" db=2.7ms idle=496.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:59.173 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=18.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:59.177 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jGykocIEqBg --simulate --skip-download --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/28/06/28063d36e04b40c695e24703ac935efc134b4301b3dd33fc92a9a924c1f956ac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:34:59.823 [debug] Current batch of media processed. Will check again in 1000ms 13:35:00.644 [info] {"source":"oban","duration":5281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:35:00.826 [debug] Current batch of media processed. Will check again in 1000ms 13:35:01.601 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:35:01.602 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:35:01.830 [debug] Current batch of media processed. Will check again in 1000ms 13:35:02.833 [debug] Current batch of media processed. Will check again in 1000ms 13:35:03.836 [debug] Current batch of media processed. Will check again in 1000ms 13:35:04.837 [debug] Current batch of media processed. Will check again in 1000ms 13:35:05.221 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:35:05.223 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=991.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:05.231 [info] {"args":{},"id":46,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":8483132,"event":"job:stop","attempt":1,"queue_time":724187,"tags":["local_data"]} 13:35:05.841 [debug] Current batch of media processed. Will check again in 1000ms 13:35:06.843 [debug] Current batch of media processed. Will check again in 1000ms 13:35:19.067 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:35:19.069 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:35:19.069 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:35:19.069 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:35:19.069 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:35:19.101 [debug] QUERY OK source="oban_jobs" db=9.8ms decode=0.2ms queue=67.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:35:19.102 [info] Reset 2 executing jobs 13:35:19.106 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:35:21.698 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:35:21.700 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:35:22.506 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:35:22.514 [debug] QUERY OK source="settings" db=1.6ms queue=1.6ms idle=1511.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:22.519 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1519.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:22.521 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:35:22.565 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:35:22.598 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:35:22.604 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:35:22.646 [info] {"args":{},"id":47,"meta":{},"system_time":1775957722644602581,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:35:22.647 [info] Updating yt-dlp 13:35:22.648 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:35:26.136 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 13:35:26.136 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:35:28.730 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:35:28.734 [debug] QUERY OK source="settings" db=2.8ms queue=0.5ms idle=729.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:28.740 [info] {"args":{},"id":47,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6090923,"event":"job:stop","queue_time":627920,"attempt":1,"tags":["local_data"]} 13:35:52.589 [info] {"source":"oban","duration":26683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.567 [info] {"source":"oban","duration":4505,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:36:22.597 [info] {"source":"oban","duration":2597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:52.618 [info] {"source":"oban","duration":14492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.576 [info] {"source":"oban","duration":3583,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:37:22.635 [info] {"source":"oban","duration":10718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:52.643 [info] {"source":"oban","duration":2694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.584 [info] {"source":"oban","duration":2790,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:38:11.060 [info] CONNECTED TO Phoenix.LiveView.Socket in 3ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "PQMgYQc_JGMcWQgAVXk5XRA5HhFwaEIQxerXctsPim961IidVtTG3P3r", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:38:11.120 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 13:38:11.123 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 13:38:11.124 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 13:38:11.125 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 13:38:11.127 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 13:38:11.128 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 13:38:11.129 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 13:38:11.129 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 13:38:22.656 [info] {"source":"oban","duration":7979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:52.661 [info] {"source":"oban","duration":2981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.594 [info] {"source":"oban","duration":3655,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:39:22.678 [info] {"source":"oban","duration":10029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:52.692 [info] {"source":"oban","duration":6894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.599 [info] {"source":"oban","duration":1973,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:40:22.710 [info] {"source":"oban","duration":11675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:52.715 [info] {"source":"oban","duration":2841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.611 [info] {"source":"oban","duration":3424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:41:22.723 [info] {"source":"oban","duration":5927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:52.737 [info] {"source":"oban","duration":6791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.625 [info] {"source":"oban","duration":4181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:42:22.749 [info] {"source":"oban","duration":9333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:52.769 [info] {"source":"oban","duration":11366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.635 [info] {"source":"oban","duration":3856,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:43:22.787 [info] {"source":"oban","duration":12008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:52.804 [info] {"source":"oban","duration":10167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.647 [info] {"source":"oban","duration":3012,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:44:22.820 [info] {"source":"oban","duration":10159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:52.826 [info] {"source":"oban","duration":3092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.652 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:45:22.851 [info] {"source":"oban","duration":20032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:52.858 [info] {"source":"oban","duration":3662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.660 [info] {"source":"oban","duration":3298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:46:22.872 [info] {"source":"oban","duration":10126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:52.888 [info] {"source":"oban","duration":11831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.670 [info] {"source":"oban","duration":1507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:47:22.901 [info] {"source":"oban","duration":9166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:52.914 [info] {"source":"oban","duration":9286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.679 [info] {"source":"oban","duration":3011,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:48:22.919 [info] {"source":"oban","duration":3075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:52.934 [info] {"source":"oban","duration":12859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.685 [info] {"source":"oban","duration":2885,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:49:22.940 [info] {"source":"oban","duration":3132,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:36.576 [notice] SIGTERM received - shutting down 13:49:36.694 [notice] :alarm_handler: {:clear, :system_memory_high_watermark} 13:49:55.801 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:49:55.819 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:49:55.819 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:49:55.819 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:49:55.819 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:49:55.849 [debug] QUERY OK source="oban_jobs" db=6.9ms decode=0.1ms queue=82.3ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:49:55.850 [info] Reset 0 executing jobs 13:49:55.855 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:49:59.215 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 13:49:59.216 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:50:00.025 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:50:00.034 [debug] QUERY OK source="settings" db=2.0ms queue=1.1ms idle=288.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:00.877 [debug] QUERY OK source="settings" db=836.7ms queue=0.1ms idle=298.4ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 13:50:00.894 [debug] QUERY OK source="settings" db=14.7ms queue=0.2ms idle=1137.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:00.897 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:50:00.941 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:50:00.972 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:50:00.979 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:50:01.034 [info] {"args":{},"id":48,"meta":{},"system_time":1775958601032917412,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:50:01.036 [info] Updating yt-dlp 13:50:01.036 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:50:09.478 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Current version: stable@2025.09.26 from yt-dlp/yt-dlp Latest version: stable@2026.03.17 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2026.03.17 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2026.03.17 from yt-dlp/yt-dlp 13:50:09.478 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:50:12.195 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:50:12.198 [debug] QUERY OK source="settings" db=1.4ms queue=0.3ms idle=453.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:12.200 [debug] QUERY OK source="settings" db=0.9ms idle=173.4ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.03.17", 1] 13:50:12.209 [info] {"args":{},"id":48,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":11168301,"event":"job:stop","attempt":1,"queue_time":1017110,"tags":["local_data"]} 13:50:30.951 [info] {"source":"oban","duration":15535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.935 [info] {"source":"oban","duration":2071,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:51:00.955 [info] {"source":"oban","duration":2975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:30.970 [info] {"source":"oban","duration":12729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.942 [info] {"source":"oban","duration":1382,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:52:00.984 [info] {"source":"oban","duration":7046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:30.996 [info] {"source":"oban","duration":7670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.948 [info] {"source":"oban","duration":2071,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:53:01.005 [info] {"source":"oban","duration":5761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:31.015 [info] {"source":"oban","duration":4174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:44.427 [notice] SIGTERM received - shutting down 13:53:44.574 [notice] :alarm_handler: {:clear, :system_memory_high_watermark} 13:54:02.359 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:54:02.363 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:54:02.360 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:54:02.363 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:54:02.363 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:54:02.387 [debug] QUERY OK source="oban_jobs" db=5.1ms decode=0.1ms queue=62.1ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:54:02.388 [info] Reset 0 executing jobs 13:54:02.391 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:54:05.358 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 13:54:05.360 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:54:06.155 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:54:06.163 [debug] QUERY OK source="settings" db=1.3ms queue=0.9ms idle=1858.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:54:06.173 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=1866.3ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 13:54:06.176 [debug] QUERY OK source="settings" db=1.1ms idle=1872.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:54:06.177 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:54:06.216 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:54:06.244 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:54:06.249 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:54:06.284 [info] {"args":{},"id":49,"meta":{},"system_time":1775958846283471979,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:54:06.285 [info] Updating yt-dlp 13:54:06.286 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:54:13.958 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Current version: stable@2025.09.26 from yt-dlp/yt-dlp Latest version: stable@2026.03.17 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2026.03.17 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2026.03.17 from yt-dlp/yt-dlp 13:54:13.959 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:54:16.776 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:54:16.780 [debug] QUERY OK source="settings" db=2.9ms queue=0.3ms 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 [] 13:54:16.784 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=463.3ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.03.17", 1] 13:54:16.791 [info] {"args":{},"id":49,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":10501000,"event":"job:stop","queue_time":269735,"attempt":1,"tags":["local_data"]} 13:54:36.228 [info] {"source":"oban","duration":16931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.215 [info] {"source":"oban","duration":2510,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:55:06.239 [info] {"source":"oban","duration":9545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:36.252 [info] {"source":"oban","duration":8493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.226 [info] {"source":"oban","duration":5426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:56:06.263 [info] {"source":"oban","duration":8080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:36.268 [info] {"source":"oban","duration":3126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.237 [info] {"source":"oban","duration":3397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:57:06.282 [info] {"source":"oban","duration":11221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:36.302 [info] {"source":"oban","duration":12582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.246 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:58:06.308 [info] {"source":"oban","duration":2419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:36.325 [info] {"source":"oban","duration":14838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.251 [info] {"source":"oban","duration":1794,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:59:06.338 [info] {"source":"oban","duration":8819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:36.349 [info] {"source":"oban","duration":7789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.352 [info] {"source":"oban","duration":97435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[50]} 14:00:00.362 [info] {"args":{},"id":50,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1775959200361988171,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:00:00.414 [debug] QUERY OK source="media_items" db=43.8ms queue=2.2ms idle=647.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((NOT (m0."media_filepath" IS NULL) AND NOT (m0."prevent_download" = 1)) AND NOT (NOT (m0."media_redownloaded_at" IS NULL))) AND IFNULL(redownload_delay_days, 0) > 0 AND DATE('now', '-' || redownload_delay_days || ' day') > DATE(uploaded_at) AND DATE(media_downloaded_at, '-' || redownload_delay_days || ' day') < DATE(uploaded_at) ) [] 14:00:00.415 [info] Redownloading 0 media items 14:00:00.417 [info] {"args":{},"id":50,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","duration":53696,"event":"job:stop","queue_time":357376,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:00:06.369 [info] {"source":"oban","duration":11042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:36.383 [info] {"source":"oban","duration":7368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.356 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:01:06.404 [info] {"source":"oban","duration":16456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:36.414 [info] {"source":"oban","duration":6788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.361 [info] {"source":"oban","duration":2317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:02:06.430 [info] {"source":"oban","duration":11950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:36.446 [info] {"source":"oban","duration":13025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.367 [info] {"source":"oban","duration":3666,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:03:06.456 [info] {"source":"oban","duration":7626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:36.471 [info] {"source":"oban","duration":10327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.377 [info] {"source":"oban","duration":3597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:04:06.481 [info] {"source":"oban","duration":6233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:36.503 [info] {"source":"oban","duration":13835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.381 [info] {"source":"oban","duration":1656,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:05:06.513 [info] {"source":"oban","duration":8077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:36.524 [info] {"source":"oban","duration":6753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.393 [info] {"source":"oban","duration":7505,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:06:06.532 [info] {"source":"oban","duration":5901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:23.480 [info] GET /.git/config 14:06:23.532 [debug] QUERY OK source="settings" db=18.4ms queue=0.9ms idle=1583.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:06:23.539 [debug] QUERY OK source="settings" db=2.9ms queue=0.8ms idle=605.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:06:23.544 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:06:23.560 [error] #PID<0.2651.0> running PinchflatWeb.Endpoint (connection #PID<0.2650.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2650.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 49830}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "referer" => "https://news.ycombinator.com/", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Google Chrome\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 11.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2651.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://news.ycombinator.com/"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Google Chrome\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 11.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV51Oyiak1UJtYAAAeC"} ], 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.2650.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 49830}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "referer" => "https://news.ycombinator.com/", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Google Chrome\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 11.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2650.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 49830}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "referer" => "https://news.ycombinator.com/", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Google Chrome\";v=\"131\", \"Not_A Brand\";v=\"24\"", (truncated) 14:06:24.601 [info] GET /.git/config 14:06:24.603 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1063.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:06:24.611 [debug] QUERY OK source="settings" db=3.2ms queue=3.6ms idle=667.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:06:24.612 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:06:24.615 [error] #PID<0.2653.0> running PinchflatWeb.Endpoint (connection #PID<0.2652.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2652.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 49842}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "referer" => "https://www.google.com/search?q=", "sec-ch-ua-mobile" => "?1", "sec-ch-ua-platform" => "\"iOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2653.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://www.google.com/search?q="}, {"sec-ch-ua-mobile", "?1"}, {"sec-ch-ua-platform", "\"iOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV51S-VyA6IJEsAAAeS"} ], 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.2652.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 49842}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "referer" => "https://www.google.com/search?q=", "sec-ch-ua-mobile" => "?1", "sec-ch-ua-platform" => "\"iOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2652.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 49842}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "referer" => "https://www.google.com/search?q=", "sec-ch-ua-mobile" => "?1", "sec-ch-ua-platform" => "\"iOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5 (truncated) 14:06:36.544 [info] {"source":"oban","duration":8919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.402 [info] {"source":"oban","duration":4970,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:07:06.548 [info] {"source":"oban","duration":2386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:08.113 [info] GET / 14:07:08.117 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:07:08.148 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=645.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:08.159 [debug] QUERY OK source="media_profiles" db=2.0ms queue=6.3ms idle=638.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:07:08.162 [debug] QUERY OK source="sources" db=1.8ms queue=0.2ms idle=646.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:07:08.210 [debug] QUERY OK source="media_items" db=47.3ms queue=0.5ms idle=647.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:08.218 [debug] QUERY OK source="media_items" db=6.4ms queue=0.7ms idle=438.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:08.222 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=72.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:08.223 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=63.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:08.230 [debug] QUERY OK source="settings" db=0.4ms queue=0.6ms idle=66.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:08.252 [debug] QUERY OK source="tasks" db=2.8ms queue=0.1ms idle=38.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:07:08.266 [debug] QUERY OK source="media_items" db=0.4ms queue=0.4ms idle=47.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:08.270 [debug] QUERY OK source="media_items" db=2.8ms queue=0.9ms idle=44.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:08.278 [debug] QUERY OK source="media_items" db=2.3ms queue=1.3ms idle=51.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:07:08.282 [debug] QUERY OK source="media_items" db=3.0ms queue=0.7ms idle=49.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:08.291 [info] Sent 200 in 178ms 14:07:09.148 [info] CONNECTED TO Phoenix.LiveView.Socket in 2ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "BT4xRH0oLAAAQj9dVSEiIishewxuGScwtHd5IPVqUtzd3PiulLLZ9wah", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:07:09.187 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 14:07:09.189 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=905.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:09.191 [debug] QUERY OK source="media_items" db=1.3ms idle=668.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:09.191 [debug] Replied in 4ms 14:07:09.197 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 14:07:09.199 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=660.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:07:09.201 [debug] QUERY OK source="media_items" db=1.8ms idle=654.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:09.202 [debug] Replied in 4ms 14:07:09.204 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 14:07:09.206 [debug] QUERY OK source="tasks" db=0.9ms idle=659.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:07:09.206 [debug] Replied in 2ms 14:07:13.248 [info] GET /sources 14:07:13.251 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:07:13.257 [debug] QUERY OK source="settings" db=0.9ms idle=669.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:13.258 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=656.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:13.260 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=657.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:13.262 [debug] QUERY OK source="settings" db=0.3ms idle=658.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:13.265 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=490.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:13.277 [debug] QUERY OK source="sources" db=2.6ms queue=4.0ms idle=13.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 14:07:13.285 [debug] QUERY OK source="sources" db=3.4ms queue=1.8ms idle=22.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 14:07:13.304 [info] Sent 200 in 55ms 14:07:13.836 [info] CONNECTED TO Phoenix.LiveView.Socket in 419µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "F087G2BJLBI9bndPKSgyPA8uaAQBJX8vf9njT1VchX2vOYykHC_RVK9w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:07:13.851 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:07:13.855 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=566.4ms 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)) [] 14:07:13.860 [debug] QUERY OK source="sources" db=4.0ms queue=0.1ms idle=250.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 14:07:13.860 [debug] Replied in 10ms 14:07:15.672 [info] GET /sources/1 14:07:15.673 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:07:15.676 [debug] QUERY OK source="sources" db=1.2ms queue=0.4ms idle=1037.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:07:15.680 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.5ms idle=39.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:07:15.685 [debug] QUERY OK source="tasks" db=2.6ms queue=0.1ms idle=29.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 14:07:15.687 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=32.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 (?,?,?)) [27, 26, 4] 14:07:15.688 [debug] QUERY OK source="settings" db=0.6ms idle=33.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:15.689 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=12.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:15.691 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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:07:15.708 [debug] QUERY OK source="sources" db=0.6ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:07:15.712 [debug] QUERY OK source="media_items" db=1.1ms queue=0.9ms idle=23.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")))) [1] 14:07:15.716 [debug] QUERY OK source="media_items" db=1.7ms queue=0.8ms idle=24.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 ? [1, 10, 0] 14:07:15.719 [debug] QUERY OK source="sources" db=1.1ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:07:15.721 [debug] QUERY OK source="media_items" db=0.5ms queue=0.3ms idle=28.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:07:15.722 [debug] QUERY OK source="media_items" db=0.7ms queue=0.4ms idle=12.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 ? [1, 10, 0] 14:07:15.725 [debug] QUERY OK source="sources" db=1.6ms 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" = ?) [1] 14:07:15.728 [debug] QUERY OK source="media_items" db=1.1ms queue=0.8ms idle=10.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:07:15.732 [debug] QUERY OK source="media_items" db=2.0ms queue=0.9ms idle=10.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 ? [1, 10, 0] 14:07:15.745 [info] Sent 200 in 72ms 14:07:15.965 [info] CONNECTED TO Phoenix.LiveView.Socket in 152µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "NTcCHFwwDUc4UC51PBkiOx03czs2VhEVDAWmhHw6mfkLZhilZZDma8WM", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:07:16.202 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending", "source_id" => 1} 14:07:16.207 [debug] QUERY OK source="sources" db=2.4ms queue=0.8ms idle=483.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:07:16.211 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=487.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")))) [1] 14:07:16.214 [debug] QUERY OK source="media_items" db=2.1ms idle=486.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 ? [1, 10, 0] 14:07:16.215 [debug] Replied in 13ms 14:07:16.218 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded", "source_id" => 1} 14:07:16.220 [debug] QUERY OK source="sources" db=1.1ms queue=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" = ?) [1] 14:07:16.221 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=488.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:07:16.223 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=14.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:07:16.223 [debug] Replied in 5ms 14:07:16.225 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "other", "source_id" => 1} 14:07:16.226 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=14.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:07:16.229 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=13.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:07:16.232 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=9.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:07:16.232 [debug] Replied in 6ms 14:07:23.939 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:07:23.947 [debug] QUERY OK source="media_items" db=4.6ms queue=0.3ms idle=174.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"))))) [1] 14:07:23.951 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=168.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 ? [1, 10, 10] 14:07:23.952 [debug] Replied in 14ms 14:07:24.506 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:07:24.515 [debug] QUERY OK source="media_items" db=5.5ms queue=0.8ms idle=728.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"))))) [1] 14:07:24.519 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=734.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 20] 14:07:24.519 [debug] Replied in 15ms 14:07:24.664 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:07:24.666 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=882.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"))))) [1] 14:07:24.673 [debug] QUERY OK source="media_items" db=5.5ms queue=0.2ms idle=719.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 ? [1, 10, 30] 14:07:24.673 [debug] Replied in 9ms 14:07:24.799 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:07:24.803 [debug] QUERY OK source="media_items" db=2.5ms queue=0.2ms idle=127.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"))))) [1] 14:07:24.806 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=29.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 ? [1, 10, 40] 14:07:24.806 [debug] Replied in 7ms 14:07:24.956 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:07:24.959 [debug] QUERY OK source="media_items" db=1.5ms queue=0.3ms idle=172.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"))))) [1] 14:07:24.963 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=174.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 ? [1, 10, 50] 14:07:24.964 [debug] Replied in 8ms 14:07:25.100 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:07:25.104 [debug] QUERY OK source="media_items" db=2.5ms queue=0.3ms idle=312.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"))))) [1] 14:07:25.107 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=301.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 ? [1, 10, 60] 14:07:25.108 [debug] Replied in 8ms 14:07:25.264 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:07:25.267 [debug] QUERY OK source="media_items" db=2.2ms queue=0.3ms idle=458.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"))))) [1] 14:07:25.270 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=309.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 ? [1, 10, 70] 14:07:25.271 [debug] Replied in 7ms 14:07:25.487 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:07:25.492 [debug] QUERY OK source="media_items" db=3.2ms queue=0.5ms idle=524.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"))))) [1] 14:07:25.503 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=388.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 ? [1, 10, 80] 14:07:25.503 [debug] Replied in 16ms 14:07:25.579 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:07:25.583 [debug] QUERY OK source="media_items" db=2.4ms queue=0.3ms idle=473.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"))))) [1] 14:07:25.587 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=316.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 ? [1, 10, 90] 14:07:25.587 [debug] Replied in 8ms 14:07:26.306 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:07:26.309 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=720.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"))))) [1] 14:07:26.311 [debug] QUERY OK source="media_items" db=1.7ms idle=529.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 ? [1, 10, 80] 14:07:26.312 [debug] Replied in 5ms 14:07:26.485 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:07:26.488 [debug] QUERY OK source="media_items" db=1.4ms queue=0.3ms idle=693.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"))))) [1] 14:07:26.491 [debug] QUERY OK source="media_items" db=2.2ms queue=0.2ms idle=696.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 ? [1, 10, 70] 14:07:26.491 [debug] Replied in 6ms 14:07:26.606 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:07:26.608 [debug] QUERY OK source="media_items" db=1.3ms queue=0.2ms idle=814.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:07:26.611 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=299.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 ? [1, 10, 60] 14:07:26.611 [debug] Replied in 5ms 14:07:26.764 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:07:26.766 [debug] QUERY OK source="media_items" db=1.3ms queue=0.3ms idle=453.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"))))) [1] 14:07:26.769 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=279.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 ? [1, 10, 50] 14:07:26.769 [debug] Replied in 5ms 14:07:26.914 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:07:26.917 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=145.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"))))) [1] 14:07:26.919 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=133.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 40] 14:07:26.920 [debug] Replied in 5ms 14:07:27.057 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:07:27.060 [debug] QUERY OK source="media_items" db=1.7ms queue=0.3ms idle=265.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"))))) [1] 14:07:27.063 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=266.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 30] 14:07:27.063 [debug] Replied in 6ms 14:07:27.213 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:07:27.215 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=419.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"))))) [1] 14:07:27.217 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=299.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 ? [1, 10, 20] 14:07:27.218 [debug] Replied in 5ms 14:07:27.364 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:07:27.366 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=444.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"))))) [1] 14:07:27.368 [debug] QUERY OK source="media_items" db=1.6ms idle=306.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 10] 14:07:27.368 [debug] Replied in 4ms 14:07:27.532 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:07:27.541 [debug] QUERY OK source="media_items" db=5.9ms queue=1.3ms idle=470.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"))))) [1] 14:07:27.545 [debug] QUERY OK source="media_items" db=1.9ms queue=0.2ms idle=327.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 ? [1, 10, 0] 14:07:27.545 [debug] Replied in 13ms 14:07:30.976 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:07:30.981 [debug] Replied in 5ms 14:07:30.989 [debug] QUERY OK source="media_items" db=4.8ms queue=0.8ms idle=199.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:07:30.990 [debug] QUERY OK source="media_items" db=5.3ms queue=1.0ms idle=155.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")))) [1] 14:07:30.993 [debug] QUERY OK source="media_items" db=6.7ms queue=0.9ms idle=146.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:07:30.994 [debug] QUERY OK source="media_items" db=3.6ms queue=1.0ms idle=148.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 ? [1, 10, 0] 14:07:30.997 [debug] QUERY OK source="media_items" db=3.7ms queue=0.2ms idle=4.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:07:30.998 [debug] QUERY OK source="media_items" db=7.1ms queue=0.3ms idle=147.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 ? [1, 10, 0] 14:07:31.298 [info] GET / 14:07:31.300 [info] GET / 14:07:31.301 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:07:31.302 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:07:31.304 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=311.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:31.305 [debug] QUERY OK source="settings" db=2.2ms queue=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:07:31.309 [debug] QUERY OK source="media_profiles" db=1.1ms queue=2.9ms idle=310.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:07:31.310 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=311.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:07:31.311 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=311.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:07:31.312 [debug] QUERY OK source="sources" db=0.8ms queue=1.0ms idle=5.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:07:31.313 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=6.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:31.315 [debug] QUERY OK source="media_items" db=0.6ms queue=0.7ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:31.316 [debug] QUERY OK source="media_items" db=2.3ms queue=1.7ms idle=3.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:31.317 [debug] QUERY OK source="settings" db=1.6ms queue=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 [] 14:07:31.319 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=4.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:31.321 [debug] QUERY OK source="settings" db=3.3ms 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:07:31.323 [debug] QUERY OK source="settings" db=1.7ms queue=1.2ms 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:07:31.324 [debug] QUERY OK source="settings" db=1.0ms queue=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 [] 14:07:31.325 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:31.328 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:31.332 [debug] QUERY OK source="tasks" db=1.8ms queue=0.6ms idle=8.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:07:31.332 [debug] QUERY OK source="tasks" db=0.9ms queue=0.4ms idle=7.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:07:31.334 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=9.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:31.336 [debug] QUERY OK source="media_items" db=0.8ms idle=7.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:31.338 [debug] QUERY OK source="media_items" db=0.9ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:31.339 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:31.342 [debug] QUERY OK source="media_items" db=1.2ms queue=1.5ms idle=7.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:07:31.343 [debug] QUERY OK source="media_items" db=2.9ms idle=6.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:07:31.346 [debug] QUERY OK source="media_items" db=2.0ms queue=0.3ms idle=6.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:31.347 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=5.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:31.350 [info] Sent 200 in 52ms 14:07:31.356 [info] Sent 200 in 55ms 14:07:32.119 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:07:32.120 [debug] Replied in 2ms 14:07:32.130 [debug] QUERY OK source="media_items" db=3.7ms queue=2.8ms idle=272.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:07:32.130 [debug] QUERY OK source="media_items" db=6.6ms queue=0.8ms idle=775.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 14:07:32.135 [debug] QUERY OK source="media_items" db=8.2ms queue=1.0ms idle=262.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:07:32.137 [debug] QUERY OK source="media_items" db=6.5ms queue=0.1ms idle=266.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 ? [1, 10, 0] 14:07:32.145 [debug] QUERY OK source="media_items" db=9.7ms queue=0.1ms idle=5.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:07:32.146 [debug] QUERY OK source="media_items" db=14.5ms queue=0.1ms idle=266.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 ? [1, 10, 0] 14:07:34.893 [info] GET / 14:07:34.895 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:07:34.900 [debug] QUERY OK source="settings" db=3.2ms queue=0.2ms idle=1018.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:34.901 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.2ms idle=1012.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:07:34.902 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1011.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:07:34.903 [debug] QUERY OK source="media_items" db=0.3ms idle=1012.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:34.903 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:34.905 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:34.907 [debug] QUERY OK source="settings" db=1.6ms queue=1.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:07:34.911 [debug] QUERY OK source="settings" db=1.8ms queue=0.2ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:34.915 [debug] QUERY OK source="tasks" db=1.1ms queue=0.9ms idle=5.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:07:34.917 [debug] QUERY OK source="media_items" db=0.6ms idle=7.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:34.921 [debug] QUERY OK source="media_items" db=2.4ms idle=7.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:34.923 [debug] QUERY OK source="media_items" db=0.9ms idle=10.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:07:34.925 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=8.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:34.927 [info] Sent 200 in 34ms 14:07:36.563 [info] {"source":"oban","duration":11721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:41.259 [info] GET /assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd 14:07:41.265 [debug] QUERY OK source="settings" db=1.7ms queue=0.6ms idle=1292.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:41.268 [debug] QUERY OK source="settings" db=1.7ms queue=0.2ms idle=299.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:41.268 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:41.270 [error] #PID<0.2694.0> running PinchflatWeb.Endpoint (connection #PID<0.2693.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/app-84c55c57753816656f5134f541d32ba5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2693.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37432}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2694.0>, params: %{}, path_info: ["assets", "app-84c55c57753816656f5134f541d32ba5"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV55wi_Nru5-2IAAAmy"} ], 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.2693.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37432}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /assets/app-84c55c57753816656f5134f541d32ba5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2693.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37432}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QA (truncated) 14:07:41.653 [info] GET /https%3A/discord.gg/j7T6dCuwU4 14:07:41.659 [debug] QUERY OK source="settings" db=2.3ms queue=1.2ms idle=678.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:41.665 [debug] QUERY OK source="settings" db=2.5ms queue=1.1ms idle=682.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:41.665 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:41.669 [error] #PID<0.2696.0> running PinchflatWeb.Endpoint (connection #PID<0.2695.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/discord.gg/j7T6dCuwU4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/discord.gg/j7T6dCuwU4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2695.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/discord.gg/j7T6dCuwU4", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37444}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2696.0>, params: %{}, path_info: ["https%3A", "discord.gg", "j7T6dCuwU4"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/discord.gg/j7T6dCuwU4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV55yA-L93hEyAAAAUh"} ], 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.2695.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/discord.gg/j7T6dCuwU4", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37444}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /https%3A/discord.gg/j7T6dCuwU4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2695.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/discord.gg/j7T6dCuwU4", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37444}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", (truncated) 14:07:41.994 [info] GET / 14:07:41.994 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:07:41.996 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=329.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:41.997 [debug] QUERY OK source="media_profiles" db=0.4ms idle=25.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:07:41.998 [debug] QUERY OK source="sources" db=0.4ms idle=14.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:07:41.999 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=14.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:42.000 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=15.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:42.002 [debug] QUERY OK source="settings" db=0.4ms queue=1.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:07:42.004 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:42.005 [debug] QUERY OK source="settings" db=0.5ms 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:07:42.009 [debug] QUERY OK source="tasks" db=0.8ms idle=9.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:07:42.012 [debug] QUERY OK source="media_items" db=1.0ms queue=0.5ms idle=10.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:42.016 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=10.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:42.022 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=15.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:07:42.032 [debug] QUERY OK source="media_items" db=8.8ms queue=0.1ms idle=16.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:42.041 [info] Sent 200 in 47ms 14:07:43.416 [info] GET / 14:07:43.418 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:07:43.422 [debug] QUERY OK source="settings" db=1.5ms queue=0.3ms idle=1389.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.424 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.2ms idle=446.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:07:43.426 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=433.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:07:43.427 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=435.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:43.429 [debug] QUERY OK source="media_items" db=0.9ms idle=435.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:43.431 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.433 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 14:07:43.436 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.446 [debug] QUERY OK source="tasks" db=1.9ms queue=0.1ms idle=16.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:07:43.450 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=20.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:43.456 [debug] QUERY OK source="media_items" db=3.4ms queue=0.2ms idle=19.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:43.460 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=24.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:07:43.463 [debug] QUERY OK source="media_items" db=2.0ms queue=0.3ms idle=24.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:43.466 [info] Sent 200 in 49ms 14:07:43.673 [info] GET /sources 14:07:43.674 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:07:43.677 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms 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 [] 14:07:43.679 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=227.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.681 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 14:07:43.684 [debug] QUERY OK source="settings" db=0.4ms idle=223.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.685 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=221.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.690 [debug] QUERY OK source="sources" db=2.5ms queue=0.2ms idle=9.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 14:07:43.696 [debug] QUERY OK source="sources" db=4.7ms queue=0.1ms idle=11.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 14:07:43.702 [info] Sent 200 in 28ms 14:07:43.720 [info] GET /media_profiles 14:07:43.721 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:07:43.725 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.9ms idle=42.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 14:07:43.727 [debug] QUERY OK source="settings" db=0.8ms idle=41.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.727 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=41.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.730 [debug] QUERY OK source="settings" db=0.3ms idle=39.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.734 [info] Sent 200 in 14ms 14:07:43.778 [info] GET /https%3A/github.com/kieraneglin/pinchflat/wiki 14:07:43.780 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=83.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.781 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=55.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.782 [info] GET /https%3A/github.com/kieraneglin/pinchflat 14:07:43.782 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:43.786 [info] GET /app_info 14:07:43.786 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 14:07:43.786 [info] GET /settings 14:07:43.786 [debug] QUERY OK source="settings" db=3.8ms idle=55.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.788 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:07:43.790 [debug] QUERY OK source="settings" db=2.0ms queue=0.2ms idle=60.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.792 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=59.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.792 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:43.793 [debug] QUERY OK source="settings" db=2.4ms queue=0.7ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.795 [debug] QUERY OK source="settings" db=4.2ms queue=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:07:43.799 [debug] QUERY OK source="settings" db=3.3ms queue=1.3ms 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 [] 14:07:43.801 [debug] QUERY OK source="settings" db=1.8ms queue=0.8ms 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 [] 14:07:43.783 [error] #PID<0.2708.0> running PinchflatWeb.Endpoint (connection #PID<0.2707.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat/wiki ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/wiki (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2707.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/wiki", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37500}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2708.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat", "wiki"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat/wiki", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV5557sLH3FfOcAAApS"} ], 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.2707.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/wiki", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37500}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /https%3A/github.com/kieraneglin/pinchflat/wiki (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2707.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/wiki", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37500}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZ (truncated) 14:07:43.803 [debug] QUERY OK source="settings" db=2.8ms queue=0.5ms 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:07:43.809 [debug] QUERY OK source="settings" db=1.4ms queue=0.8ms idle=14.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.795 [error] #PID<0.2710.0> running PinchflatWeb.Endpoint (connection #PID<0.2709.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2709.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37516}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2710.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV5558noEIHDEsAAApi"} ], 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.2709.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37516}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /https%3A/github.com/kieraneglin/pinchflat (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2709.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37516}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuX (truncated) 14:07:43.811 [debug] QUERY OK source="settings" db=2.6ms queue=0.8ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.812 [debug] QUERY OK source="settings" db=1.9ms queue=0.7ms 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 [] 14:07:43.814 [info] GET /https%3A/supporters.eff.org/donate 14:07:43.816 [info] Sent 200 in 30ms 14:07:43.818 [debug] QUERY OK source="settings" db=1.7ms queue=1.3ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.821 [debug] QUERY OK source="settings" db=1.8ms idle=15.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.821 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:43.825 [info] Sent 200 in 38ms 14:07:43.830 [info] GET /favicon.ico%3Fcachebust%3D2024-03-20 14:07:43.833 [debug] QUERY OK source="settings" db=1.0ms queue=0.8ms idle=22.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.822 [error] #PID<0.2718.0> running PinchflatWeb.Endpoint (connection #PID<0.2717.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/supporters.eff.org/donate ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/supporters.eff.org/donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2717.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/supporters.eff.org/donate", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37552}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2718.0>, params: %{}, path_info: ["https%3A", "supporters.eff.org", "donate"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/supporters.eff.org/donate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV556EV7XwGTRgAAAYB"} ], 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.2717.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/supporters.eff.org/donate", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37552}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /https%3A/supporters.eff.org/donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2717.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/supporters.eff.org/donate", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37552}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pi (truncated) 14:07:43.834 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=22.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.834 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:43.841 [info] GET /%23 14:07:43.843 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=29.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.844 [info] GET /https%3A/github.com/kieraneglin/pinchflat/releases 14:07:43.836 [error] #PID<0.2720.0> running PinchflatWeb.Endpoint (connection #PID<0.2719.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /favicon.ico%3Fcachebust%3D2024-03-20 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2719.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37568}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2720.0>, params: %{}, path_info: ["favicon"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/favicon.ico%3Fcachebust%3D2024-03-20", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV556II2fvbXSUAAAYh"} ], 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.2719.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37568}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2719.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37568}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\" (truncated) 14:07:43.845 [info] GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 14:07:43.848 [debug] QUERY OK source="settings" db=3.4ms queue=0.7ms idle=25.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.848 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:43.848 [debug] QUERY OK source="settings" db=2.4ms queue=0.2ms idle=24.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.849 [debug] QUERY OK source="settings" db=1.0ms idle=14.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.853 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=16.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:43.854 [debug] QUERY OK source="settings" db=3.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 [] 14:07:43.853 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:43.854 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:43.860 [error] #PID<0.2725.0> running PinchflatWeb.Endpoint (connection #PID<0.2723.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat/releases ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/releases (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/releases", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37590}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2725.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat", "releases"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat/releases", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV556LjplpXBekAAAZB"} ], 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.2723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/releases", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37590}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /https%3A/github.com/kieraneglin/pinchflat/releases (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/releases", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37590}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3 (truncated) 14:07:43.851 [error] #PID<0.2722.0> running PinchflatWeb.Endpoint (connection #PID<0.2721.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /%23 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%23 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2721.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%23", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37584}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2722.0>, params: %{}, path_info: ["%23"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/%23", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV556KqI1O1yLAAAAYx"} ], 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.2721.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%23", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37584}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /%23 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2721.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%23", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37584}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537. (truncated) 14:07:43.863 [error] #PID<0.2726.0> running PinchflatWeb.Endpoint (connection #PID<0.2724.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2724.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37592}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2726.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat", "issues", "234"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV556LzdzHSF_UAAAZR"} ], 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.2724.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37592}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeTJKZHJOMjZkdVlJc2RrZFlnTjk5U0Uy.fRo6oZhHU7QUAuXpmuZcUsewt5Q8tdtjqoXU9552JAM", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /https%3A/github.com/kieraneglin/pinchflat/issues/234 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2724.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37592}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinch (truncated) 14:07:48.966 [info] GET / 14:07:48.968 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:07:48.976 [debug] QUERY OK source="settings" db=3.3ms queue=0.7ms idle=1172.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:48.978 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=922.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:07:48.979 [debug] QUERY OK source="sources" db=0.4ms idle=912.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:07:48.980 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=912.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:48.980 [debug] QUERY OK source="media_items" db=0.2ms idle=910.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:48.982 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:48.984 [debug] QUERY OK source="settings" db=0.8ms queue=0.7ms 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:07:48.985 [debug] QUERY OK source="settings" db=0.2ms 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:07:48.989 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=7.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:07:48.990 [debug] QUERY OK source="media_items" db=0.3ms idle=9.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:07:48.993 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=8.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:48.996 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=10.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:07:48.998 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=10.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:07:49.001 [info] Sent 200 in 35ms 14:07:50.703 [info] GET /.env.production 14:07:50.707 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=1630.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:50.710 [debug] QUERY OK source="settings" db=1.1ms queue=0.6ms idle=632.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:50.710 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:50.712 [error] #PID<0.2732.0> running PinchflatWeb.Endpoint (connection #PID<0.2731.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /.env.production ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2731.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41668}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2732.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56TuyOrpKqscAAAaR"} ], 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.2731.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41668}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2731.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41668}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2732.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.env.production", resp_body: nil (truncated) 14:07:50.925 [info] GET /.env.production.local 14:07:50.928 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=836.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:50.930 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=836.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:50.930 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:50.931 [error] #PID<0.2734.0> running PinchflatWeb.Endpoint (connection #PID<0.2733.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /.env.production.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2733.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41684}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2734.0>, params: %{}, path_info: [".env.production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.env.production.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56Ujqr2gQficAAAah"} ], 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.2733.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41684}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /.env.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2733.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41684}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2734.0>, params: %{}, path_info: [".env.production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} (truncated) 14:07:51.480 [info] GET /register 14:07:51.485 [debug] QUERY OK source="settings" db=1.4ms queue=0.4ms idle=552.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:51.488 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=397.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:51.488 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:51.490 [error] #PID<0.2736.0> running PinchflatWeb.Endpoint (connection #PID<0.2735.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /register ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /register (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2735.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/register", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41692}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2736.0>, params: %{}, path_info: ["register"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/register", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56Wn7_j9tVjgAAAax"} ], 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.2735.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/register", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41692}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /register (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2735.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/register", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41692}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2736.0>, params: %{}, path_info: ["register"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; (truncated) 14:07:51.553 [info] GET /cart 14:07:51.558 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=455.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:51.561 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=457.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:51.561 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:51.563 [error] #PID<0.2738.0> running PinchflatWeb.Endpoint (connection #PID<0.2737.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /cart ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cart (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2737.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cart", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41702}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2738.0>, params: %{}, path_info: ["cart"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/cart", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56W5fl-FZf2wAAAbB"} ], 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.2737.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cart", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41702}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /cart (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2737.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cart", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41702}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2738.0>, params: %{}, path_info: ["cart"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHT (truncated) 14:07:51.669 [info] GET /order 14:07:51.672 [debug] QUERY OK source="settings" db=0.7ms queue=1.1ms idle=567.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:51.674 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=188.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:51.674 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:51.675 [error] #PID<0.2740.0> running PinchflatWeb.Endpoint (connection #PID<0.2739.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /order ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /order (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/order", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41710}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2740.0>, params: %{}, path_info: ["order"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/order", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56XVC_PGLRrEAAAbR"} ], 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.2739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/order", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41710}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /order (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/order", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41710}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2740.0>, params: %{}, path_info: ["order"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53 (truncated) 14:07:51.837 [info] GET /account 14:07:51.839 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=350.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:51.841 [debug] QUERY OK source="settings" db=0.5ms queue=0.6ms idle=282.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:51.842 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:51.843 [error] #PID<0.2742.0> running PinchflatWeb.Endpoint (connection #PID<0.2741.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /account ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2741.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/account", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41724}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2742.0>, params: %{}, path_info: ["account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/account", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56X9CDLRQ2M0AAAbh"} ], 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.2741.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/account", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41724}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2741.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/account", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41724}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2742.0>, params: %{}, path_info: ["account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x (truncated) 14:07:52.163 [info] GET /plans 14:07:52.165 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=323.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:52.166 [debug] QUERY OK source="settings" db=0.4ms idle=67.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:52.167 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:52.168 [error] #PID<0.2744.0> running PinchflatWeb.Endpoint (connection #PID<0.2743.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /plans ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /plans (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2743.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/plans", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41736}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2744.0>, params: %{}, path_info: ["plans"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/plans", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56ZK7erw9aHIAAAbx"} ], 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.2743.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/plans", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41736}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /plans (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2743.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/plans", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41736}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2744.0>, params: %{}, path_info: ["plans"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53 (truncated) 14:07:52.917 [info] GET /shop 14:07:52.920 [debug] QUERY OK source="settings" db=1.0ms queue=0.6ms idle=805.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:52.922 [debug] QUERY OK source="settings" db=0.8ms idle=808.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:52.923 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:52.924 [error] #PID<0.2746.0> running PinchflatWeb.Endpoint (connection #PID<0.2745.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /shop ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2745.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shop", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41748}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2746.0>, params: %{}, path_info: ["shop"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/shop", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56b-pqVx6nE0AAAcB"} ], 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.2745.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shop", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41748}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /shop (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2745.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shop", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41748}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2746.0>, params: %{}, path_info: ["shop"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHT (truncated) 14:07:53.040 [info] GET /subscribe 14:07:53.043 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=925.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:53.044 [debug] QUERY OK source="settings" db=0.5ms idle=878.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:53.044 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:53.045 [error] #PID<0.2748.0> running PinchflatWeb.Endpoint (connection #PID<0.2747.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /subscribe ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /subscribe (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2747.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/subscribe", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41750}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2748.0>, params: %{}, path_info: ["subscribe"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/subscribe", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56ccEuR0BD4kAAAcR"} ], 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.2747.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/subscribe", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41750}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /subscribe (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2747.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/subscribe", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41750}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2748.0>, params: %{}, path_info: ["subscribe"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows (truncated) 14:07:53.183 [info] GET /payment 14:07:53.185 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=139.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:53.187 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=82.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:53.188 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:53.189 [error] #PID<0.2750.0> running PinchflatWeb.Endpoint (connection #PID<0.2749.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /payment ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /payment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2749.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/payment", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41754}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2750.0>, params: %{}, path_info: ["payment"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/payment", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56c9-hlwxAU4AAAch"} ], 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.2749.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/payment", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41754}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /payment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2749.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/payment", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41754}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2750.0>, params: %{}, path_info: ["payment"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x (truncated) 14:07:53.762 [info] GET /sitemap.xml 14:07:53.766 [debug] QUERY OK source="settings" db=1.4ms queue=0.2ms idle=649.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:53.768 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=652.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:53.769 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:53.770 [error] #PID<0.2752.0> running PinchflatWeb.Endpoint (connection #PID<0.2751.0>, stream id 1) terminated Server: pinchflat.cmagtv.top: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.2751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41762}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2752.0>, params: %{}, path_info: ["sitemap"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56fIAkCxLZPQAAAcx"} ], 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.2751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41762}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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.2751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41762}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2752.0>, params: %{}, path_info: ["sitemap"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56fIAkCxLZPQAAAcx"} ], 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/pinch (truncated) 14:07:54.084 [info] GET /index.html 14:07:54.086 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=970.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:54.088 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=901.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:54.088 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:54.091 [error] #PID<0.2754.0> running PinchflatWeb.Endpoint (connection #PID<0.2753.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /index.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2753.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/index.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41772}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2754.0>, params: %{}, path_info: ["index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56gU3dZro1cEAAArS"} ], 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.2753.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/index.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41772}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2753.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/index.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41772}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2754.0>, params: %{}, path_info: ["index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; W (truncated) 14:07:54.163 [info] GET /checkout 14:07:54.165 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=76.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:54.166 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=57.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:54.167 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:54.168 [error] #PID<0.2756.0> running PinchflatWeb.Endpoint (connection #PID<0.2755.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /checkout ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /checkout (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2755.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/checkout", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41784}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2756.0>, params: %{}, path_info: ["checkout"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/checkout", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56gnrinwlWsYAAAdB"} ], 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.2755.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/checkout", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41784}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /checkout (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2755.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/checkout", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41784}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2756.0>, params: %{}, path_info: ["checkout"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; (truncated) 14:07:54.853 [info] GET /billing 14:07:54.866 [debug] QUERY OK source="settings" db=4.7ms queue=1.4ms idle=741.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:54.873 [debug] QUERY OK source="settings" db=5.6ms queue=0.2ms idle=747.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:54.873 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:54.874 [error] #PID<0.2758.0> running PinchflatWeb.Endpoint (connection #PID<0.2757.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /billing ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /billing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2757.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/billing", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41790}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2758.0>, params: %{}, path_info: ["billing"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/billing", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56jMO-Sf1S_EAAAdR"} ], 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.2757.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/billing", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41790}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /billing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2757.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/billing", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41790}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2758.0>, params: %{}, path_info: ["billing"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x (truncated) 14:07:54.979 [info] GET /admin 14:07:54.981 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=860.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:54.985 [debug] QUERY OK source="settings" db=2.2ms queue=0.3ms idle=817.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:54.987 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:54.989 [error] #PID<0.2760.0> running PinchflatWeb.Endpoint (connection #PID<0.2759.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /admin ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2759.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41796}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2760.0>, params: %{}, path_info: ["admin"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/admin", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56jqO_JJekvwAAAdh"} ], 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.2759.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41796}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /admin (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2759.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41796}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2760.0>, params: %{}, path_info: ["admin"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53 (truncated) 14:07:55.147 [info] GET /.env 14:07:55.150 [debug] QUERY OK source="settings" db=1.2ms queue=0.8ms idle=163.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:55.152 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=38.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:55.152 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:55.153 [error] #PID<0.2762.0> running PinchflatWeb.Endpoint (connection #PID<0.2761.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2761.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41810}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2762.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56kSWdQO8ASUAAAdx"} ], 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.2761.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41810}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2761.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41810}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2762.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-contr (truncated) 14:07:55.348 [info] GET /dashboard 14:07:55.350 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=227.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:55.351 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=226.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:55.352 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:55.353 [error] #PID<0.2764.0> running PinchflatWeb.Endpoint (connection #PID<0.2763.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /dashboard ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dashboard (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2763.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dashboard", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41818}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2764.0>, params: %{}, path_info: ["dashboard"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/dashboard", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56lCLpPBHsloAAAeB"} ], 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.2763.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dashboard", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41818}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /dashboard (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2763.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dashboard", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41818}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2764.0>, params: %{}, path_info: ["dashboard"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows (truncated) 14:07:56.001 [info] GET /pricing 14:07:56.006 [debug] QUERY OK source="settings" db=1.4ms queue=1.1ms idle=879.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:56.009 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=856.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:56.009 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:56.010 [error] #PID<0.2766.0> running PinchflatWeb.Endpoint (connection #PID<0.2765.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /pricing ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pricing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pricing", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41830}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2766.0>, params: %{}, path_info: ["pricing"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/pricing", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56nd_gYOQBEoAAAeR"} ], 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.2765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pricing", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41830}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /pricing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pricing", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41830}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2766.0>, params: %{}, path_info: ["pricing"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x (truncated) 14:07:56.184 [info] GET /donate 14:07:56.186 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=176.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:56.187 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=67.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:56.187 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:07:56.188 [error] #PID<0.2768.0> running PinchflatWeb.Endpoint (connection #PID<0.2767.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /donate ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2767.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/donate", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41842}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2768.0>, params: %{}, path_info: ["donate"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/donate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV56oJdtXiohnEAAAeh"} ], 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.2767.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/donate", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41842}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2767.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/donate", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 41842}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2768.0>, params: %{}, path_info: ["donate"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) Apple (truncated) 14:08:00.413 [info] {"source":"oban","duration":3350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:08:02.342 [info] GET / 14:08:02.342 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:08:02.345 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=536.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.351 [debug] QUERY OK source="media_profiles" db=5.0ms queue=0.3ms idle=167.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:08:02.352 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=161.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:08:02.353 [debug] QUERY OK source="media_items" db=0.3ms idle=160.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:08:02.355 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=161.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:08:02.357 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:02.358 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:02.360 [debug] QUERY OK source="settings" db=0.4ms queue=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:08:02.365 [debug] QUERY OK source="tasks" db=1.4ms queue=0.3ms idle=10.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:08:02.368 [debug] QUERY OK source="media_items" db=0.9ms idle=12.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:08:02.371 [debug] QUERY OK source="media_items" db=1.2ms queue=0.6ms idle=11.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:08:02.374 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=13.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:08:02.377 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=14.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:08:02.380 [info] Sent 200 in 40ms 14:08:06.574 [info] {"source":"oban","duration":9335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:13.873 [info] GET /about 14:08:13.892 [debug] QUERY OK source="settings" db=4.5ms queue=1.2ms idle=616.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.895 [debug] QUERY OK source="settings" db=1.9ms queue=0.3ms idle=612.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.896 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:13.898 [error] #PID<0.2776.0> running PinchflatWeb.Endpoint (connection #PID<0.2775.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /about ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2775.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36154}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2776.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV57qC9VRuqD08AAAgx"} ], 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.2775.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36154}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2775.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36154}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2776.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV57qC9VRuqD08AAAgx"} ], 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 (truncated) 14:08:15.697 [info] GET /login.action 14:08:15.701 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=1410.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.707 [debug] QUERY OK source="settings" db=3.8ms idle=422.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.708 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:15.709 [error] #PID<0.2778.0> running PinchflatWeb.Endpoint (connection #PID<0.2777.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /login.action ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2777.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36158}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2778.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV57w16i8xTzJIAAAhB"} ], 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.2777.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36158}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2777.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36158}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2778.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV57w16i8xTzJIAAAhB"} ], 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: (truncated) 14:08:16.303 [info] GET /v2/_catalog 14:08:16.308 [info] Sent 404 in 4ms 14:08:16.308 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:18.776 [info] GET /.DS_Store 14:08:18.782 [debug] QUERY OK source="settings" db=1.4ms queue=0.4ms idle=1467.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.785 [debug] QUERY OK source="settings" db=1.3ms queue=1.2ms idle=465.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.786 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:18.789 [error] #PID<0.2782.0> running PinchflatWeb.Endpoint (connection #PID<0.2781.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /.DS_Store ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2781.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36164}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2782.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV578T7RIAP8JIAAAhh"} ], 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.2781.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36164}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2781.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36164}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2782.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV578T7RIAP8JIAAAhh"} ], 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", lin (truncated) 14:08:24.717 [info] GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application 14:08:24.726 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=912.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.728 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=342.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.729 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:24.734 [error] #PID<0.2784.0> running PinchflatWeb.Endpoint (connection #PID<0.2783.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2783.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 46866}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2784.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58ScWqisRlBUAAAhx"} ], 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.2783.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 46866}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2783.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 46866}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2784.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", resp_body: nil, resp_cookies: %{}, resp_headers (truncated) 14:08:26.454 [info] GET /.git/config 14:08:26.463 [debug] QUERY OK source="settings" db=5.0ms queue=1.2ms idle=638.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.466 [debug] QUERY OK source="settings" db=2.0ms queue=0.3ms idle=64.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.468 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:26.471 [error] #PID<0.2786.0> running PinchflatWeb.Endpoint (connection #PID<0.2785.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2785.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 46868}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2786.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58Y6QgZqp3wUAAAiB"} ], 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.2785.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 46868}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2785.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 46868}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2786.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58Y6QgZqp3wUAAAiB"} ], 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, :c (truncated) 14:08:27.391 [info] POST /graphql 14:08:27.395 [info] Sent 404 in 3ms 14:08:27.395 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:27.908 [info] POST /api 14:08:27.910 [info] Sent 404 in 2ms 14:08:27.911 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:28.397 [info] POST /api/graphql 14:08:28.399 [info] Sent 404 in 1ms 14:08:28.399 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:28.894 [info] POST /graphql/api 14:08:28.895 [info] Sent 404 in 1ms 14:08:28.896 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:29.427 [info] POST /api/gql 14:08:29.430 [info] Sent 404 in 3ms 14:08:29.431 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:29.980 [info] GET /s/632323e24333e24393e2330323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties 14:08:29.995 [debug] QUERY OK source="settings" db=4.0ms queue=0.7ms idle=558.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.001 [debug] QUERY OK source="settings" db=2.8ms queue=0.2ms idle=552.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.002 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:30.004 [error] #PID<0.2798.0> running PinchflatWeb.Endpoint (connection #PID<0.2797.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /s/632323e24333e24393e2330323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/632323e24333e24393e2330323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2797.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/632323e24333e24393e2330323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33300}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2798.0>, params: %{}, path_info: ["s", "632323e24333e24393e2330323", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/s/632323e24333e24393e2330323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58mDEa5HlmmcAAAjR"} ], 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.2797.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/632323e24333e24393e2330323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33300}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /s/632323e24333e24393e2330323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2797.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/632323e24333e24393e2330323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33300}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2798.0>, params: %{}, path_info: ["s", "632323e24333e24393e2330323", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "ht (truncated) 14:08:30.984 [info] GET /config.json 14:08:30.988 [debug] QUERY OK source="settings" db=1.0ms queue=1.3ms idle=984.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.990 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=543.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.991 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:30.994 [error] #PID<0.2800.0> running PinchflatWeb.Endpoint (connection #PID<0.2799.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /config.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33314}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2800.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58pyU8poPJU8AAAjh"} ], 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.2799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33314}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33314}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2800.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58pyU8poPJU8AAAjh"} ], 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 (truncated) 14:08:31.910 [info] GET /telescope/requests 14:08:31.913 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=921.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.915 [debug] QUERY OK source="settings" db=1.0ms queue=0.3ms idle=464.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.916 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:31.917 [error] #PID<0.2802.0> running PinchflatWeb.Endpoint (connection #PID<0.2801.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /telescope/requests ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2801.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33330}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2802.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58tPX7V3JobIAAAjx"} ], 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.2801.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33330}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2801.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33330}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2802.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58tPX7V3JobIAAAjx"} ], 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/pin (truncated) 14:08:32.946 [info] GET /info.php 14:08:32.949 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=1031.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.950 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=495.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.951 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:32.952 [error] #PID<0.2804.0> running PinchflatWeb.Endpoint (connection #PID<0.2803.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /info.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2803.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33342}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2804.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58xGSPI9M5AYAAAkB"} ], 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.2803.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33342}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2803.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33342}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2804.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58xGSPI9M5AYAAAkB"} ], 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/endpoin (truncated) 14:08:33.909 [info] GET /.well-known/security.txt 14:08:33.913 [debug] QUERY OK source="settings" db=2.1ms queue=0.9ms idle=959.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.919 [debug] QUERY OK source="settings" db=4.5ms queue=0.1ms idle=450.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.919 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:33.923 [error] #PID<0.2806.0> running PinchflatWeb.Endpoint (connection #PID<0.2805.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /.well-known/security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33348}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2806.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV580r4ZjC6PKEAAAkR"} ], 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.2805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33348}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33348}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2806.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV580r4ZjC6PKEAAAkR"} ], 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 (truncated) 14:08:34.952 [info] GET /actuator/env 14:08:34.955 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1034.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.956 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=487.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.957 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:34.958 [error] #PID<0.2808.0> running PinchflatWeb.Endpoint (connection #PID<0.2807.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /actuator/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33358}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2808.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV584kfuVkK_1cAAAkh"} ], 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.2807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33358}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33358}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2808.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV584kfuVkK_1cAAAkh"} ], 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.En (truncated) 14:08:36.582 [info] {"source":"oban","duration":3068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:36.912 [info] GET /swagger-ui.html 14:08:36.919 [debug] QUERY OK source="settings" db=0.8ms queue=3.3ms idle=435.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:36.922 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=427.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.923 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:36.930 [error] #PID<0.2810.0> running PinchflatWeb.Endpoint (connection #PID<0.2809.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /swagger-ui.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger-ui (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2809.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger-ui.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33368}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2810.0>, params: %{}, path_info: ["swagger-ui"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger-ui.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58_31K0FMXTwAAAkx"} ], 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.2809.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger-ui.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33368}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /swagger-ui (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2809.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger-ui.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33368}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2810.0>, params: %{}, path_info: ["swagger-ui"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger-ui.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV58_31K0FMXTwAAAkx"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 4 (truncated) 14:08:37.920 [info] GET /swagger/index.html 14:08:37.923 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=999.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.926 [debug] QUERY OK source="settings" db=1.9ms idle=428.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.927 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:37.929 [error] #PID<0.2812.0> running PinchflatWeb.Endpoint (connection #PID<0.2811.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /swagger/index.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/index.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33378}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2812.0>, params: %{}, path_info: ["swagger", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59DoJlO5AB4IAAAry"} ], 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.2811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/index.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33378}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /swagger/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/index.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33378}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2812.0>, params: %{}, path_info: ["swagger", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59DoJlO5AB4IAAAry"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: Pinchfla (truncated) 14:08:38.923 [info] GET /swagger/swagger-ui.html 14:08:38.926 [debug] QUERY OK source="settings" db=1.1ms queue=0.3ms idle=998.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.928 [debug] QUERY OK source="settings" db=0.8ms queue=0.9ms idle=417.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.929 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:38.930 [error] #PID<0.2814.0> running PinchflatWeb.Endpoint (connection #PID<0.2813.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /swagger/swagger-ui.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger/swagger-ui (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/swagger-ui.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33382}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2814.0>, params: %{}, path_info: ["swagger", "swagger-ui"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger/swagger-ui.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59HXaougTKeQAAAlB"} ], 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.2813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/swagger-ui.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33382}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /swagger/swagger-ui (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/swagger-ui.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 33382}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2814.0>, params: %{}, path_info: ["swagger", "swagger-ui"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger/swagger-ui.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59HXaougTKeQAAAlB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, (truncated) 14:08:39.910 [info] GET /webjars/swagger-ui/index.html 14:08:39.916 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=985.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:39.921 [debug] QUERY OK source="settings" db=1.7ms queue=0.5ms idle=403.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.921 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:39.928 [error] #PID<0.2816.0> running PinchflatWeb.Endpoint (connection #PID<0.2815.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /webjars/swagger-ui/index.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /webjars/swagger-ui/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2815.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webjars/swagger-ui/index.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36050}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2816.0>, params: %{}, path_info: ["webjars", "swagger-ui", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/webjars/swagger-ui/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59LCrxY5QyhcAAAlR"} ], 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.2815.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webjars/swagger-ui/index.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36050}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /webjars/swagger-ui/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2815.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webjars/swagger-ui/index.html", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36050}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2816.0>, params: %{}, path_info: ["webjars", "swagger-ui", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/webjars/swagger-ui/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59LCrxY5QyhcAAAlR"} ], scheme: :http, script_name: [], (truncated) 14:08:40.923 [info] GET /swagger.json 14:08:40.934 [debug] QUERY OK source="settings" db=3.0ms queue=3.3ms idle=1007.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.947 [debug] QUERY OK source="settings" db=6.3ms queue=1.6ms idle=413.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.948 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:40.956 [error] #PID<0.2820.0> running PinchflatWeb.Endpoint (connection #PID<0.2819.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /swagger.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2819.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36066}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2820.0>, params: %{}, path_info: ["swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59O0L-ANqAqMAAAlx"} ], 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.2819.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36066}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2819.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36066}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2820.0>, params: %{}, path_info: ["swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59O0L-ANqAqMAAAlx"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {Pi (truncated) 14:08:41.951 [info] GET /swagger/v1/swagger.json 14:08:41.953 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1006.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.955 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=422.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.956 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:41.957 [error] #PID<0.2822.0> running PinchflatWeb.Endpoint (connection #PID<0.2821.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /swagger/v1/swagger.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger/v1/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2821.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/v1/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36074}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2822.0>, params: %{}, path_info: ["swagger", "v1", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger/v1/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59SpNf7N7HZAAAAmB"} ], 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.2821.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/v1/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36074}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /swagger/v1/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2821.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/v1/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36074}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2822.0>, params: %{}, path_info: ["swagger", "v1", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/swagger/v1/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59SpNf7N7HZAAAAmB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, (truncated) 14:08:42.914 [info] GET /v2/api-docs 14:08:42.918 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=959.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.920 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=383.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.920 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:42.922 [error] #PID<0.2824.0> running PinchflatWeb.Endpoint (connection #PID<0.2823.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /v2/api-docs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /v2/api-docs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2823.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v2/api-docs", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36076}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2824.0>, params: %{}, path_info: ["v2", "api-docs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/v2/api-docs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59WOyECiIpEAAAAmR"} ], 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.2823.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v2/api-docs", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36076}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /v2/api-docs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2823.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v2/api-docs", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36076}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2824.0>, params: %{}, path_info: ["v2", "api-docs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/v2/api-docs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59WOyECiIpEAAAAmR"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stac (truncated) 14:08:43.920 [info] GET /v3/api-docs 14:08:43.923 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=1001.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.926 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=383.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.926 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:43.928 [error] #PID<0.2826.0> running PinchflatWeb.Endpoint (connection #PID<0.2825.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /v3/api-docs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /v3/api-docs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2825.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v3/api-docs", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36092}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2826.0>, params: %{}, path_info: ["v3", "api-docs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/v3/api-docs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59Z-sjCGGIAIAAAmh"} ], 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.2825.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v3/api-docs", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36092}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /v3/api-docs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2825.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v3/api-docs", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36092}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2826.0>, params: %{}, path_info: ["v3", "api-docs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/v3/api-docs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59Z-sjCGGIAIAAAmh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stac (truncated) 14:08:44.947 [info] GET /api-docs/swagger.json 14:08:44.949 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1022.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.952 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=405.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.952 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:44.953 [error] #PID<0.2828.0> running PinchflatWeb.Endpoint (connection #PID<0.2827.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /api-docs/swagger.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api-docs/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api-docs/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36104}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2828.0>, params: %{}, path_info: ["api-docs", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/api-docs/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59dziBY3o4XQAAAmx"} ], 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.2827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api-docs/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36104}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /api-docs/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api-docs/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36104}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2828.0>, params: %{}, path_info: ["api-docs", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/api-docs/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59dziBY3o4XQAAAmx"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil (truncated) 14:08:45.919 [info] GET /api/swagger.json 14:08:45.923 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=969.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.929 [debug] QUERY OK source="settings" db=2.2ms queue=3.5ms idle=365.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.931 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:45.933 [error] #PID<0.2830.0> running PinchflatWeb.Endpoint (connection #PID<0.2829.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /api/swagger.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2829.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36114}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2830.0>, params: %{}, path_info: ["api", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/api/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59hbasdEVk48AAAnB"} ], 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.2829.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36114}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /api/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2829.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/swagger.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36114}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2830.0>, params: %{}, path_info: ["api", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/api/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59hbasdEVk48AAAnB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, (truncated) 14:08:46.963 [info] GET /trace.axd 14:08:46.973 [debug] QUERY OK source="settings" db=3.9ms queue=0.3ms idle=1039.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.976 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=409.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.976 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:46.977 [error] #PID<0.2832.0> running PinchflatWeb.Endpoint (connection #PID<0.2831.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /trace.axd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2831.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36116}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2832.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59lUQawu9C-YAAAnR"} ], 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.2831.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36116}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2831.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36116}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2832.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59lUQawu9C-YAAAnR"} ], 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_w (truncated) 14:08:47.954 [info] GET /@vite/env 14:08:47.957 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=979.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.959 [debug] QUERY OK source="settings" db=1.8ms queue=0.2ms idle=386.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.960 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:47.961 [error] #PID<0.2834.0> running PinchflatWeb.Endpoint (connection #PID<0.2833.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /@vite/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /@vite/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36132}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2834.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59pAaxwAO7uYAAAnh"} ], 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.2833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36132}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /@vite/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36132}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2834.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59pAaxwAO7uYAAAnh"} ], 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, [fi (truncated) 14:08:48.924 [info] GET /.vscode/sftp.json 14:08:48.928 [debug] QUERY OK source="settings" db=1.8ms queue=0.5ms idle=966.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.931 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=349.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.932 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:48.934 [error] #PID<0.2836.0> running PinchflatWeb.Endpoint (connection #PID<0.2835.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /.vscode/sftp.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36142}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2836.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59sn1MC1KTnUAAAnx"} ], 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.2835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36142}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, 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 /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 36142}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2836.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59sn1MC1KTnUAAAnx"} ], 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: (truncated) 14:08:49.916 [info] OPTIONS / 14:08:49.920 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=987.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:49.921 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=331.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.922 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:49.923 [error] #PID<0.2838.0> running PinchflatWeb.Endpoint (connection #PID<0.2837.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: OPTIONS / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for OPTIONS / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 39406}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "OPTIONS", owner: #PID<0.2838.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59wUK9I6yBDkAAAoB"} ], 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.2837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 39406}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "OPTIONS", 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 OPTIONS / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 39406}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "OPTIONS", owner: #PID<0.2838.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV59wUK9I6yBDkAAAoB"} ], 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.Cowb (truncated) 14:08:50.923 [info] GET / 14:08:50.924 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"rest_route" => "/wp/v2/users/"} Pipelines: [:browser] 14:08:50.927 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=1003.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.930 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.8ms idle=332.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:08:50.932 [debug] QUERY OK source="sources" db=0.6ms queue=1.3ms idle=325.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:08:50.935 [debug] QUERY OK source="media_items" db=0.6ms queue=1.2ms idle=327.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:08:50.940 [debug] QUERY OK source="media_items" db=1.0ms queue=3.1ms idle=328.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:08:50.944 [debug] QUERY OK source="settings" db=1.0ms queue=1.4ms idle=14.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.946 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=14.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.949 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:50.959 [debug] QUERY OK source="tasks" db=1.8ms queue=0.1ms idle=22.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:08:50.964 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=22.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:08:50.969 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=22.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:08:50.975 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=26.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:08:50.979 [debug] QUERY OK source="media_items" db=2.3ms queue=0.6ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:08:50.982 [info] Sent 200 in 58ms 14:08:51.920 [info] GET /debug/default/view 14:08:51.922 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=942.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.923 [debug] QUERY OK source="settings" db=0.5ms idle=319.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.923 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:08:51.924 [error] #PID<0.2842.0> running PinchflatWeb.Endpoint (connection #PID<0.2841.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /debug/default/view?panel=config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/default/view (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2841.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 39432}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2842.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV593yCpPkf9NkAAApx"} ], 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.2841.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 39432}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/default/view (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2841.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 39432}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2842.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.632323e24333e24393e2330323; +https://leakix.net)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV593yCpPkf9NkAAApx"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call (truncated) 14:09:00.416 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:09:06.592 [info] {"source":"oban","duration":9289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:18.007 [info] GET / 14:09:18.009 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:09:18.016 [debug] QUERY OK source="settings" db=1.1ms queue=0.5ms idle=205.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.017 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=195.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:09:18.021 [debug] QUERY OK source="sources" db=3.7ms queue=0.1ms idle=196.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:09:18.024 [debug] QUERY OK source="media_items" db=0.8ms queue=1.7ms idle=198.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:18.026 [debug] QUERY OK source="media_items" db=0.7ms queue=1.0ms idle=196.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:18.031 [debug] QUERY OK source="settings" db=1.5ms queue=1.0ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:18.033 [debug] QUERY OK source="settings" db=0.7ms queue=0.8ms idle=14.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.039 [debug] QUERY OK source="settings" db=2.6ms queue=0.2ms idle=14.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.045 [debug] QUERY OK source="tasks" db=2.3ms idle=18.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:09:18.048 [debug] QUERY OK source="media_items" db=0.4ms idle=20.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:18.050 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=17.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:18.056 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=20.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:09:18.063 [debug] QUERY OK source="media_items" db=4.0ms queue=1.6ms idle=17.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:18.068 [info] Sent 200 in 60ms 14:09:20.223 [info] CONNECTED TO Phoenix.LiveView.Socket in 232µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DXEGDi0MdGwRZjdiBjkFAywAVC14IVci84ocyU-TI_Y2QlCbn48tKdca", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:09:20.474 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "5EimTYY8X9nPWUFaB4lY3E4C", "media_state" => "downloaded"} 14:09:20.478 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=1648.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:20.483 [debug] QUERY OK source="media_items" db=2.5ms queue=0.9ms idle=658.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:20.483 [debug] Replied in 9ms 14:09:20.500 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "5EimTYY8X9nPWUFaB4lY3E4C", "media_state" => "pending"} 14:09:20.507 [debug] QUERY OK source="media_items" db=2.7ms queue=0.7ms idle=670.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:09:20.512 [debug] QUERY OK source="media_items" db=3.8ms queue=1.0ms idle=673.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:20.514 [debug] Replied in 14ms 14:09:20.521 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "5EimTYY8X9nPWUFaB4lY3E4C"} 14:09:20.528 [debug] QUERY OK source="tasks" db=4.2ms queue=0.6ms idle=687.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:09:20.529 [debug] Replied in 8ms 14:09:25.326 [info] GET / 14:09:25.327 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:09:25.329 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=1463.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.331 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=473.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:09:25.333 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=465.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:09:25.335 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=467.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:25.336 [debug] QUERY OK source="media_items" db=1.0ms idle=468.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:25.338 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:25.340 [debug] QUERY OK source="settings" db=1.3ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:25.342 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:25.346 [debug] QUERY OK source="tasks" db=0.6ms idle=10.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:09:25.348 [debug] QUERY OK source="media_items" db=0.3ms idle=10.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:25.349 [debug] QUERY OK source="media_items" db=0.9ms queue=0.4ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:25.353 [debug] QUERY OK source="media_items" db=1.9ms idle=10.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:09:25.357 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=10.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:25.360 [info] Sent 200 in 34ms 14:09:36.596 [info] {"source":"oban","duration":2463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:43.618 [info] GET / 14:09:43.619 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:09:43.625 [debug] QUERY OK source="settings" db=3.2ms queue=1.1ms idle=1598.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.626 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=607.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:09:43.628 [debug] QUERY OK source="sources" db=0.7ms queue=0.5ms idle=599.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:09:43.633 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=601.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:43.635 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=606.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:43.638 [debug] QUERY OK source="settings" db=1.4ms queue=0.4ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:43.639 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:43.643 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:43.657 [debug] QUERY OK source="tasks" db=3.3ms queue=0.2ms idle=19.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:09:43.665 [debug] QUERY OK source="media_items" db=1.3ms queue=0.2ms idle=29.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:43.669 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=28.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:43.674 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=32.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:09:43.678 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=31.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:43.683 [info] Sent 200 in 65ms 14:09:47.656 [info] CONNECTED TO Phoenix.LiveView.Socket in 543µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "X2wMBBxfAhd0AmUDGCI3ORtUBHUnBD5zhZVmZ1gR1zQNwzFXndkDSPYG", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:09:47.881 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "76ZiFneEEx4MoXqau0o1tTg4", "media_state" => "downloaded"} 14:09:47.884 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1043.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:09:47.886 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=821.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:47.887 [debug] Replied in 5ms 14:09:47.889 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "76ZiFneEEx4MoXqau0o1tTg4", "media_state" => "pending"} 14:09:47.891 [debug] QUERY OK source="media_items" db=1.4ms idle=817.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:09:47.894 [debug] QUERY OK source="media_items" db=2.4ms idle=818.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:09:47.895 [debug] Replied in 5ms 14:09:47.897 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "76ZiFneEEx4MoXqau0o1tTg4"} 14:09:47.899 [debug] QUERY OK source="tasks" db=0.8ms idle=824.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:09:47.899 [debug] Replied in 2ms 14:10:00.421 [info] {"source":"oban","duration":2182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:10:06.605 [info] {"source":"oban","duration":7119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:36.609 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.426 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:11:02.919 [info] GET / 14:11:02.919 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:11:02.922 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=1042.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.924 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=193.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:11:02.925 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=185.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:11:02.928 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=186.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:11:02.928 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=188.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:11:02.930 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:02.931 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:02.936 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:02.942 [debug] QUERY OK source="tasks" db=1.3ms queue=0.1ms idle=12.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:11:02.945 [debug] QUERY OK source="media_items" db=0.9ms idle=15.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:11:02.947 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=15.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:11:02.950 [debug] QUERY OK source="media_items" db=1.3ms idle=17.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:11:02.953 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=14.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:11:02.957 [info] Sent 200 in 38ms 14:11:06.618 [info] {"source":"oban","duration":6777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:36.624 [info] {"source":"oban","duration":3310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.438 [info] {"source":"oban","duration":3884,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:12:06.644 [info] {"source":"oban","duration":15704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:36.665 [info] {"source":"oban","duration":15514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.444 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:13:06.688 [info] {"source":"oban","duration":14632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:36.711 [info] {"source":"oban","duration":13243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.452 [info] {"source":"oban","duration":4231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:14:06.730 [info] {"source":"oban","duration":13804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:36.750 [info] {"source":"oban","duration":16511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.462 [info] {"source":"oban","duration":3519,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:15:06.769 [info] {"source":"oban","duration":15154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:36.785 [info] {"source":"oban","duration":12691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.473 [info] {"source":"oban","duration":4266,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:16:06.808 [info] {"source":"oban","duration":17369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:36.823 [info] {"source":"oban","duration":11427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.484 [info] {"source":"oban","duration":4501,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:17:06.837 [info] {"source":"oban","duration":11944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:36.852 [info] {"source":"oban","duration":7592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.504 [info] {"source":"oban","duration":8334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:18:06.870 [info] {"source":"oban","duration":12011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:36.886 [info] {"source":"oban","duration":12394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.513 [info] {"source":"oban","duration":3849,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:19:06.905 [info] {"source":"oban","duration":14080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:36.926 [info] {"source":"oban","duration":13195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:46.877 [info] POST /sources/1/force_index 14:19:46.881 [debug] Processing with PinchflatWeb.Sources.SourceController.force_index/2 Parameters: %{"_csrf_token" => "NTcCHFwwDUc4UC51PBkiOx03czs2VhEVDAWmhHw6mfkLZhilZZDma8WM", "_method" => "post", "source_id" => "1"} Pipelines: [:browser] 14:19:46.884 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=1026.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:46.898 [debug] QUERY OK source="tasks" db=9.9ms queue=0.4ms idle=1011.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."worker" LIKE ?) AND (o1."state" IN (?,?,?,?)) [1, "%.MediaCollectionIndexingWorker", "available", "scheduled", "retryable", "executing"] 14:19:46.953 [debug] QUERY OK source="tasks" db=21.5ms queue=0.1ms idle=37.2ms DELETE FROM "tasks" WHERE "id" = ? [3] 14:19:46.969 [debug] QUERY OK source="tasks" db=3.5ms queue=0.1ms idle=64.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [51, 1, ~U[2026-04-12 02:19:46Z], ~U[2026-04-12 02:19:46Z]] 14:19:46.971 [info] Sent 302 in 93ms 14:19:46.992 [info] GET /sources/1 14:19:46.993 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:19:46.995 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=65.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:46.999 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=43.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:47.012 [debug] QUERY OK source="tasks" db=11.9ms queue=0.1ms idle=42.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 14:19:47.014 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=50.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 (?,?,?)) [51, 27, 4] 14:19:47.017 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=47.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.019 [debug] QUERY OK source="settings" db=0.8ms queue=0.4ms idle=22.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.021 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=21.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:47.028 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=15.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:47.085 [debug] QUERY OK source="media_items" db=55.7ms queue=0.1ms idle=15.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")))) [1] 14:19:47.089 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=68.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 ? [1, 10, 0] 14:19:47.092 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=71.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:47.094 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=71.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:19:47.097 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=66.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 ? [1, 10, 0] 14:19:47.099 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=12.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:47.102 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=10.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:19:47.105 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=10.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 ? [1, 10, 0] 14:19:47.115 [info] Sent 200 in 122ms 14:19:47.557 [info] CONNECTED TO Phoenix.LiveView.Socket in 397µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "JToYJHIhOwYYeAtyIS47DgRVUAljCwwRTLMUFYAwMNNKG_pYC8g_4eJI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:47.569 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending", "source_id" => 1} 14:19:47.570 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=474.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:47.572 [debug] QUERY OK source="media_items" db=1.3ms idle=474.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 14:19:47.576 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=474.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 ? [1, 10, 0] 14:19:47.576 [debug] Replied in 8ms 14:19:47.579 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded", "source_id" => 1} 14:19:47.580 [debug] QUERY OK source="sources" db=0.5ms idle=477.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:47.581 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=475.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:19:47.582 [debug] QUERY OK source="media_items" db=0.8ms idle=11.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:19:47.582 [debug] Replied in 3ms 14:19:47.583 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "other", "source_id" => 1} 14:19:47.585 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:47.586 [debug] QUERY OK source="media_items" db=1.1ms idle=9.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:19:47.590 [debug] QUERY OK source="media_items" db=3.1ms idle=7.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 ? [1, 10, 0] 14:19:47.590 [debug] Replied in 7ms 14:19:47.926 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775960387925985097,"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:47.929 [debug] QUERY OK source="sources" db=1.6ms queue=0.2ms idle=336.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:47.931 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=17.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:47.934 [debug] QUERY OK source="media_items" db=1.0ms queue=0.8ms idle=8.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")))) [1] 14:19:47.936 [debug] QUERY OK source="media_items" db=0.3ms queue=0.4ms idle=9.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:19:47.936 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms 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] 14:19:47.942 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=13.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:47.943 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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:19:47.953 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:19:47.954 [debug] Current batch of media processed. Will check again in 1000ms 14:19:47.954 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=19.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.955 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=18.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:47.956 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=18.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:47.958 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ae/0f/ae0f34070eb95ef653101fc2b6f2f179f9c06e7846d38e74df1a34c27b434deb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:48.955 [debug] Current batch of media processed. Will check again in 1000ms 14:19:49.895 [info] GET / 14:19:49.896 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:19:49.899 [debug] QUERY OK source="settings" db=1.7ms queue=0.2ms idle=971.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.904 [debug] QUERY OK source="media_profiles" db=1.9ms queue=1.9ms idle=964.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:19:49.906 [debug] QUERY OK source="sources" db=1.3ms queue=1.1ms idle=966.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:19:49.909 [debug] QUERY OK source="media_items" db=1.4ms queue=1.0ms idle=83.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:19:49.914 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=86.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:19:49.917 [debug] QUERY OK source="settings" db=1.0ms queue=1.1ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:49.919 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:49.923 [debug] QUERY OK source="settings" db=2.6ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:49.931 [debug] QUERY OK source="tasks" db=3.8ms queue=0.4ms idle=17.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:19:49.944 [debug] QUERY OK source="sources" db=5.8ms queue=1.8ms idle=18.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:49.956 [debug] QUERY OK source="media_items" db=4.2ms queue=1.1ms idle=31.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:19:49.958 [debug] Current batch of media processed. Will check again in 1000ms 14:19:49.965 [debug] QUERY OK source="media_items" db=8.3ms queue=0.1ms idle=12.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:19:49.971 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=25.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:19:49.977 [debug] QUERY OK source="media_items" db=3.7ms queue=0.6ms idle=16.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:19:49.980 [info] Sent 200 in 85ms 14:19:50.170 [info] CONNECTED TO Phoenix.LiveView.Socket in 128µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABFgSV8-NittTwEMFh4ZPhQBcyESHw00qg58kFLZ8yD5poRiSlDwEqKl", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:50.200 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "downloaded"} 14:19:50.203 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=243.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:19:50.206 [debug] QUERY OK source="media_items" db=1.5ms queue=0.4ms idle=243.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:19:50.206 [debug] Replied in 6ms 14:19:50.209 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX", "media_state" => "pending"} 14:19:50.214 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=245.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:19:50.221 [debug] QUERY OK source="media_items" db=5.5ms queue=0.7ms idle=242.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:19:50.221 [debug] Replied in 12ms 14:19:50.226 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "qvUq4xzqU6E9fqKWGm7VWnFX"} 14:19:50.232 [debug] QUERY OK source="tasks" db=5.1ms queue=0.1ms idle=250.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:19:50.235 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=30.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:50.236 [debug] Replied in 9ms 14:19:50.960 [debug] Current batch of media processed. Will check again in 1000ms 14:19:51.964 [debug] Current batch of media processed. Will check again in 1000ms 14:19:52.966 [debug] Current batch of media processed. Will check again in 1000ms 14:19:53.968 [debug] Current batch of media processed. Will check again in 1000ms 14:19:54.971 [debug] Current batch of media processed. Will check again in 1000ms 14:19:55.977 [debug] Current batch of media processed. Will check again in 1000ms 14:19:56.979 [debug] Current batch of media processed. Will check again in 1000ms 14:19:57.985 [debug] Current batch of media processed. Will check again in 1000ms 14:19:58.991 [debug] Current batch of media processed. Will check again in 1000ms 14:19:59.996 [debug] Current batch of media processed. Will check again in 1000ms 14:20:00.520 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:20:00.998 [debug] Current batch of media processed. Will check again in 1000ms 14:20:01.999 [debug] Current batch of media processed. Will check again in 1000ms 14:20:03.000 [debug] Current batch of media processed. Will check again in 1000ms 14:20:04.003 [debug] Current batch of media processed. Will check again in 1000ms 14:20:05.009 [debug] Current batch of media processed. Will check again in 1000ms 14:20:06.011 [debug] Current batch of media processed. Will check again in 1000ms 14:20:06.934 [info] {"source":"oban","duration":4586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:07.012 [debug] Current batch of media processed. Will check again in 1000ms 14:20:08.014 [debug] Current batch of media processed. Will check again in 1000ms 14:20:09.016 [debug] Current batch of media processed. Will check again in 1000ms 14:20:10.020 [debug] Current batch of media processed. Will check again in 1000ms 14:20:11.024 [debug] Current batch of media processed. Will check again in 1000ms 14:20:12.025 [debug] Current batch of media processed. Will check again in 1000ms 14:24:58.688 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:24:58.689 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:24:58.691 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:24:58.691 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:24:58.691 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:24:58.722 [debug] QUERY OK source="oban_jobs" db=10.3ms decode=0.1ms queue=50.6ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:24:58.725 [info] Reset 1 executing jobs 14:24:58.727 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:25:01.623 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:25:01.624 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:25:02.414 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:25:02.422 [debug] QUERY OK source="settings" db=2.3ms queue=2.0ms idle=1786.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.426 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1794.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.428 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:02.467 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:25:02.496 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:25:02.502 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:25:02.555 [info] {"args":{},"id":52,"meta":{},"system_time":1775960702553668462,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:25:02.556 [info] Updating yt-dlp 14:25:02.557 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:25:03.522 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775960703521498290,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:25:03.529 [debug] QUERY OK source="sources" db=1.9ms queue=3.5ms idle=893.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:03.534 [debug] QUERY OK source="settings" db=0.8ms queue=1.9ms idle=46.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:03.592 [debug] QUERY OK source="media_items" db=40.5ms queue=5.2ms idle=37.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")))) [1] 14:25:03.600 [debug] QUERY OK source="media_items" db=6.0ms queue=0.8ms idle=72.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:25:03.607 [debug] QUERY OK source="media_profiles" db=0.9ms queue=1.2ms idle=75.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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.617 [debug] QUERY OK source="settings" db=1.5ms queue=1.3ms idle=80.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:03.621 [debug] QUERY OK source="settings" db=2.1ms queue=0.6ms idle=64.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:03.630 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:25:03.634 [debug] Current batch of media processed. Will check again in 1000ms 14:25:03.635 [debug] QUERY OK source="settings" db=1.4ms queue=2.1ms idle=39.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:03.637 [debug] QUERY OK source="settings" db=1.5ms queue=0.4ms idle=34.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:03.638 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=30.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:03.640 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b1/db/b1db9a05aa055eeb4ff5f3f8a7bb5e59546d65143c84b7799dfd04611ace47d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:04.635 [debug] Current batch of media processed. Will check again in 1000ms 14:25:05.637 [debug] Current batch of media processed. Will check again in 1000ms 14:25:06.403 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:25:06.403 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:25:06.641 [debug] Current batch of media processed. Will check again in 1000ms 14:25:07.644 [debug] Current batch of media processed. Will check again in 1000ms 14:25:08.646 [debug] Current batch of media processed. Will check again in 1000ms 14:25:09.366 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:25:09.370 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=1735.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.379 [info] {"args":{},"id":52,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6817890,"event":"job:stop","queue_time":539548,"attempt":1,"tags":["local_data"]} 14:25:09.657 [debug] Current batch of media processed. Will check again in 1000ms 14:25:10.659 [debug] Current batch of media processed. Will check again in 1000ms 14:25:11.661 [debug] Current batch of media processed. Will check again in 1000ms 14:25:12.672 [debug] Current batch of media processed. Will check again in 1000ms 14:25:13.677 [debug] Current batch of media processed. Will check again in 1000ms 14:25:14.684 [debug] Current batch of media processed. Will check again in 1000ms 14:25:15.684 [debug] Current batch of media processed. Will check again in 1000ms 14:25:16.690 [debug] Current batch of media processed. Will check again in 1000ms 14:25:17.695 [debug] Current batch of media processed. Will check again in 1000ms 14:25:18.698 [debug] Current batch of media processed. Will check again in 1000ms 14:25:19.699 [debug] Current batch of media processed. Will check again in 1000ms 14:25:20.700 [debug] Current batch of media processed. Will check again in 1000ms 14:25:21.707 [debug] Current batch of media processed. Will check again in 1000ms 14:25:22.709 [debug] Current batch of media processed. Will check again in 1000ms 14:25:23.710 [debug] Current batch of media processed. Will check again in 1000ms 14:25:24.710 [debug] Current batch of media processed. Will check again in 1000ms 14:25:25.713 [debug] Current batch of media processed. Will check again in 1000ms 14:25:26.720 [debug] Current batch of media processed. Will check again in 1000ms 14:25:27.726 [debug] Current batch of media processed. Will check again in 1000ms 14:25:41.403 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:25:41.408 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:25:41.404 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:25:41.408 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:25:41.408 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:25:41.443 [debug] QUERY OK source="oban_jobs" db=10.9ms decode=0.2ms queue=74.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:25:41.443 [info] Reset 1 executing jobs 14:25:41.446 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:25:44.291 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:25:44.293 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:25:45.105 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:25:45.114 [debug] QUERY OK source="settings" db=1.6ms queue=0.9ms idle=1780.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.120 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1787.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.122 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:45.163 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:25:45.200 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:25:45.206 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:25:45.247 [info] {"args":{},"id":53,"meta":{},"system_time":1775960745245181918,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:25:45.248 [info] Updating yt-dlp 14:25:45.249 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:25:46.198 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775960746198249778,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:25:46.207 [debug] QUERY OK source="sources" db=3.2ms queue=2.0ms idle=868.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:46.214 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=28.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.278 [debug] QUERY OK source="media_items" db=51.6ms queue=5.1ms idle=24.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")))) [1] 14:25:46.283 [debug] QUERY OK source="media_items" db=2.4ms queue=1.6ms idle=74.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:25:46.290 [debug] QUERY OK source="media_profiles" db=0.8ms queue=1.6ms idle=82.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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.298 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms 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 [] 14:25:46.300 [debug] QUERY OK source="settings" db=0.9ms queue=0.8ms 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:25:46.313 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:25:46.316 [debug] Current batch of media processed. Will check again in 1000ms 14:25:46.316 [debug] QUERY OK source="settings" db=2.3ms queue=0.3ms idle=35.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.319 [debug] QUERY OK source="settings" db=0.9ms queue=1.3ms idle=33.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:46.321 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=29.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.324 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f2/51/f251d5e87eaa92ba38236fe639ff04d7cab8b351d6d9875a1a933a0cf61c5d1b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:47.316 [debug] Current batch of media processed. Will check again in 1000ms 14:25:48.317 [debug] Current batch of media processed. Will check again in 1000ms 14:25:49.203 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:25:49.207 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:25:49.320 [debug] Current batch of media processed. Will check again in 1000ms 14:25:50.322 [debug] Current batch of media processed. Will check again in 1000ms 14:25:51.324 [debug] Current batch of media processed. Will check again in 1000ms 14:25:52.216 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:25:52.219 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=970.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.229 [info] {"args":{},"id":53,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6976267,"event":"job:stop","queue_time":229443,"attempt":1,"tags":["local_data"]} 14:25:52.325 [debug] Current batch of media processed. Will check again in 1000ms 14:25:53.327 [debug] Current batch of media processed. Will check again in 1000ms 14:25:54.330 [debug] Current batch of media processed. Will check again in 1000ms 14:25:55.333 [debug] Current batch of media processed. Will check again in 1000ms 14:25:56.334 [debug] Current batch of media processed. Will check again in 1000ms 14:25:57.336 [debug] Current batch of media processed. Will check again in 1000ms 14:25:58.336 [debug] Current batch of media processed. Will check again in 1000ms 14:25:59.340 [debug] Current batch of media processed. Will check again in 1000ms 14:26:00.171 [info] {"source":"oban","duration":3494,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:26:00.341 [debug] Current batch of media processed. Will check again in 1000ms 14:26:01.341 [debug] Current batch of media processed. Will check again in 1000ms 14:26:02.343 [debug] Current batch of media processed. Will check again in 1000ms 14:26:03.345 [debug] Current batch of media processed. Will check again in 1000ms 14:26:04.347 [debug] Current batch of media processed. Will check again in 1000ms 14:26:05.348 [debug] Current batch of media processed. Will check again in 1000ms 14:26:06.351 [debug] Current batch of media processed. Will check again in 1000ms 14:26:07.355 [debug] Current batch of media processed. Will check again in 1000ms 14:26:08.356 [debug] Current batch of media processed. Will check again in 1000ms 14:26:09.357 [debug] Current batch of media processed. Will check again in 1000ms 14:26:20.887 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:26:20.888 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:26:20.888 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:26:20.888 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:26:20.888 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:26:20.918 [debug] QUERY OK source="oban_jobs" db=8.6ms decode=0.1ms queue=60.2ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:26:20.918 [info] Reset 1 executing jobs 14:26:20.921 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:26:23.689 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:26:23.690 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:26:24.553 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:26:24.560 [debug] QUERY OK source="settings" db=2.0ms queue=1.0ms idle=1724.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.564 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1731.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:24.565 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:24.603 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:26:24.631 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:26:24.637 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:26:24.673 [info] {"args":{},"id":54,"meta":{},"system_time":1775960784671500300,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:26:24.674 [info] Updating yt-dlp 14:26:24.674 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:26:25.662 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775960785661761456,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:26:25.669 [debug] QUERY OK source="sources" db=1.2ms queue=0.6ms idle=829.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:26:25.675 [debug] QUERY OK source="settings" db=2.2ms queue=0.9ms idle=48.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.746 [debug] QUERY OK source="media_items" db=53.6ms queue=8.5ms idle=26.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")))) [1] 14:26:25.754 [debug] QUERY OK source="media_items" db=6.1ms queue=0.8ms idle=85.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:26:25.759 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.6ms idle=89.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:25.766 [debug] QUERY OK source="settings" db=1.1ms queue=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 [] 14:26:25.768 [debug] QUERY OK source="settings" db=1.0ms queue=0.4ms idle=91.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.775 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:26:25.778 [debug] Current batch of media processed. Will check again in 1000ms 14:26:25.779 [debug] QUERY OK source="settings" db=1.3ms queue=2.2ms idle=30.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.781 [debug] QUERY OK source="settings" db=1.0ms queue=0.9ms idle=26.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.784 [debug] QUERY OK source="settings" db=1.2ms queue=1.2ms idle=23.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.789 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6c/fa/6cfaeae6954958bc96287f9e4eaa6f2224785c5ea1a8ea30de36c6485d2ad57a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:26.780 [debug] Current batch of media processed. Will check again in 1000ms 14:26:27.783 [debug] Current batch of media processed. Will check again in 1000ms 14:26:28.541 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:26:28.543 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:26:28.787 [debug] Current batch of media processed. Will check again in 1000ms 14:26:29.789 [debug] Current batch of media processed. Will check again in 1000ms 14:26:30.790 [debug] Current batch of media processed. Will check again in 1000ms 14:26:31.448 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:26:31.452 [debug] QUERY OK source="settings" db=2.5ms queue=0.4ms idle=645.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.461 [info] {"args":{},"id":54,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6782938,"event":"job:stop","attempt":1,"queue_time":658403,"tags":["local_data"]} 14:26:31.792 [debug] Current batch of media processed. Will check again in 1000ms 14:26:32.795 [debug] Current batch of media processed. Will check again in 1000ms 14:26:33.797 [debug] Current batch of media processed. Will check again in 1000ms 14:26:34.802 [debug] Current batch of media processed. Will check again in 1000ms 14:26:35.808 [debug] Current batch of media processed. Will check again in 1000ms 14:26:36.809 [debug] Current batch of media processed. Will check again in 1000ms 14:26:37.816 [debug] Current batch of media processed. Will check again in 1000ms 14:26:38.820 [debug] Current batch of media processed. Will check again in 1000ms 14:26:39.822 [debug] Current batch of media processed. Will check again in 1000ms 14:26:40.823 [debug] Current batch of media processed. Will check again in 1000ms 14:26:41.824 [debug] Current batch of media processed. Will check again in 1000ms 14:26:42.825 [debug] Current batch of media processed. Will check again in 1000ms 14:26:43.828 [debug] Current batch of media processed. Will check again in 1000ms 14:26:44.829 [debug] Current batch of media processed. Will check again in 1000ms 14:26:45.835 [debug] Current batch of media processed. Will check again in 1000ms 14:26:46.836 [debug] Current batch of media processed. Will check again in 1000ms 14:26:47.838 [debug] Current batch of media processed. Will check again in 1000ms 14:26:48.839 [debug] Current batch of media processed. Will check again in 1000ms 14:27:01.025 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:01.026 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:01.026 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:01.026 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:01.026 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:01.107 [debug] QUERY OK source="oban_jobs" db=48.5ms decode=0.2ms queue=84.5ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:27:01.108 [info] Reset 1 executing jobs 14:27:01.111 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:27:03.864 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:27:03.865 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:27:04.908 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:27:04.930 [debug] QUERY OK source="settings" db=11.3ms queue=2.6ms idle=1967.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.939 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=1991.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.942 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:27:04.996 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:27:05.030 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:27:05.039 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:27:05.094 [info] {"args":{},"id":55,"meta":{},"system_time":1775960825090673845,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:27:05.103 [info] Updating yt-dlp 14:27:05.104 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:27:06.019 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775960826018643632,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:27:06.027 [debug] QUERY OK source="sources" db=1.7ms queue=4.3ms idle=935.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:27:06.034 [debug] QUERY OK source="settings" db=4.6ms queue=0.2ms idle=25.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.070 [debug] QUERY OK source="media_items" db=20.3ms queue=5.5ms idle=26.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")))) [1] 14:27:06.075 [debug] QUERY OK source="media_items" db=2.4ms queue=1.7ms idle=45.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:27:06.082 [debug] QUERY OK source="media_profiles" db=0.7ms queue=1.6ms 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] 14:27:06.093 [debug] QUERY OK source="settings" db=3.5ms queue=2.5ms idle=52.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.095 [debug] QUERY OK source="settings" db=1.3ms queue=0.6ms 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 [] 14:27:06.103 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:27:06.108 [debug] Current batch of media processed. Will check again in 1000ms 14:27:06.109 [debug] QUERY OK source="settings" db=4.9ms queue=0.2ms idle=33.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.112 [debug] QUERY OK source="settings" db=2.6ms idle=33.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.115 [debug] QUERY OK source="settings" db=2.4ms idle=30.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.117 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3c/1c/3c1c5fa767daac0c3a5356e6ea4d09c621193090275eb73d3dc2b60796d92548.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:07.109 [debug] Current batch of media processed. Will check again in 1000ms 14:27:08.110 [debug] Current batch of media processed. Will check again in 1000ms 14:27:09.111 [debug] Current batch of media processed. Will check again in 1000ms 14:27:09.118 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:27:09.121 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:27:10.113 [debug] Current batch of media processed. Will check again in 1000ms 14:27:11.114 [debug] Current batch of media processed. Will check again in 1000ms 14:27:12.099 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:27:12.104 [debug] QUERY OK source="settings" db=2.3ms decode=0.4ms queue=0.9ms idle=1034.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.116 [debug] Current batch of media processed. Will check again in 1000ms 14:27:12.120 [info] {"args":{},"id":55,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":7015128,"event":"job:stop","queue_time":62475,"attempt":1,"tags":["local_data"]} 14:27:13.118 [debug] Current batch of media processed. Will check again in 1000ms 14:27:14.119 [debug] Current batch of media processed. Will check again in 1000ms 14:27:15.120 [debug] Current batch of media processed. Will check again in 1000ms 14:27:16.123 [debug] Current batch of media processed. Will check again in 1000ms 14:27:17.125 [debug] Current batch of media processed. Will check again in 1000ms 14:27:18.126 [debug] Current batch of media processed. Will check again in 1000ms 14:27:19.131 [debug] Current batch of media processed. Will check again in 1000ms 14:27:20.132 [debug] Current batch of media processed. Will check again in 1000ms 14:27:21.135 [debug] Current batch of media processed. Will check again in 1000ms 14:27:22.136 [debug] Current batch of media processed. Will check again in 1000ms 14:27:23.137 [debug] Current batch of media processed. Will check again in 1000ms 14:27:24.139 [debug] Current batch of media processed. Will check again in 1000ms 14:27:25.143 [debug] Current batch of media processed. Will check again in 1000ms 14:27:26.144 [debug] Current batch of media processed. Will check again in 1000ms 14:27:27.154 [debug] Current batch of media processed. Will check again in 1000ms 14:27:28.157 [debug] Current batch of media processed. Will check again in 1000ms 14:27:29.159 [debug] Current batch of media processed. Will check again in 1000ms 14:27:30.164 [debug] Current batch of media processed. Will check again in 1000ms 14:27:31.171 [debug] Current batch of media processed. Will check again in 1000ms 14:27:46.141 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:46.143 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:46.142 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:46.144 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:46.144 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:27:46.180 [debug] QUERY OK source="oban_jobs" db=7.9ms decode=0.2ms queue=81.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:27:46.182 [info] Reset 1 executing jobs 14:27:46.185 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:27:49.324 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:27:49.328 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:27:50.200 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:27:50.211 [debug] QUERY OK source="settings" db=3.5ms queue=1.4ms idle=144.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.216 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=154.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.223 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:27:50.272 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:27:50.321 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:27:50.328 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:27:50.388 [info] {"args":{},"id":56,"meta":{},"system_time":1775960870385366913,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:27:50.392 [info] Updating yt-dlp 14:27:50.392 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:27:51.315 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775960871313664950,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:27:51.321 [debug] QUERY OK source="sources" db=2.7ms queue=1.9ms idle=934.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:27:51.329 [debug] QUERY OK source="settings" db=2.0ms queue=0.3ms idle=34.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:51.375 [debug] QUERY OK source="media_items" db=35.3ms queue=4.5ms idle=26.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")))) [1] 14:27:51.384 [debug] QUERY OK source="media_items" db=5.8ms queue=1.8ms idle=65.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:27:51.391 [debug] QUERY OK source="media_profiles" db=1.9ms queue=1.0ms 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:27:51.404 [debug] QUERY OK source="settings" db=1.1ms queue=0.7ms idle=81.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:51.407 [debug] QUERY OK source="settings" db=1.7ms queue=0.8ms 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 [] 14:27:51.418 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:27:51.421 [debug] QUERY OK source="settings" db=0.6ms queue=1.0ms idle=44.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.424 [debug] QUERY OK source="settings" db=0.7ms queue=1.5ms idle=37.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.424 [debug] Current batch of media processed. Will check again in 1000ms 14:27:51.427 [debug] QUERY OK source="settings" db=2.6ms queue=0.8ms idle=33.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.430 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/05/31/05318b286ca53fdbdbc799851549a7611c4f55b107b95f8f469b90d8f1f5d7b8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:52.426 [debug] Current batch of media processed. Will check again in 1000ms 14:27:53.429 [debug] Current batch of media processed. Will check again in 1000ms 14:27:54.330 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:27:54.331 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:27:54.431 [debug] Current batch of media processed. Will check again in 1000ms 14:27:55.432 [debug] Current batch of media processed. Will check again in 1000ms 14:27:56.435 [debug] Current batch of media processed. Will check again in 1000ms 14:27:57.242 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:27:57.246 [debug] QUERY OK source="settings" db=3.4ms queue=0.2ms idle=890.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.262 [info] {"args":{},"id":56,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6862018,"event":"job:stop","attempt":1,"queue_time":367929,"tags":["local_data"]} 14:27:57.442 [debug] Current batch of media processed. Will check again in 1000ms 14:27:58.444 [debug] Current batch of media processed. Will check again in 1000ms 14:27:59.447 [debug] Current batch of media processed. Will check again in 1000ms 14:28:00.282 [info] {"source":"oban","duration":6040,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:28:00.448 [debug] Current batch of media processed. Will check again in 1000ms 14:28:01.453 [debug] Current batch of media processed. Will check again in 1000ms 14:28:02.455 [debug] Current batch of media processed. Will check again in 1000ms 14:28:03.457 [debug] Current batch of media processed. Will check again in 1000ms 14:28:04.459 [debug] Current batch of media processed. Will check again in 1000ms 14:28:05.460 [debug] Current batch of media processed. Will check again in 1000ms 14:28:06.463 [debug] Current batch of media processed. Will check again in 1000ms 14:28:07.467 [debug] Current batch of media processed. Will check again in 1000ms 14:28:08.470 [debug] Current batch of media processed. Will check again in 1000ms 14:28:09.471 [debug] Current batch of media processed. Will check again in 1000ms 14:28:10.473 [debug] Current batch of media processed. Will check again in 1000ms 14:28:11.475 [debug] Current batch of media processed. Will check again in 1000ms 14:28:12.488 [debug] Current batch of media processed. Will check again in 1000ms 14:28:13.494 [debug] Current batch of media processed. Will check again in 1000ms 14:28:14.496 [debug] Current batch of media processed. Will check again in 1000ms 14:28:25.940 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:28:25.942 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:28:25.942 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:28:25.942 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:28:25.941 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:28:25.975 [debug] QUERY OK source="oban_jobs" db=11.0ms decode=0.2ms queue=69.5ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:28:25.976 [info] Reset 1 executing jobs 14:28:25.979 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:28:28.727 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:28:28.729 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:28:29.508 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:28:29.517 [debug] QUERY OK source="settings" db=2.3ms queue=2.1ms idle=1640.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.522 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1649.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.524 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:28:29.567 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:28:29.601 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:28:29.607 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:28:29.650 [info] {"args":{},"id":57,"meta":{},"system_time":1775960909648022945,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:28:29.651 [info] Updating yt-dlp 14:28:29.652 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:28:30.585 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775960910584435846,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:28:30.589 [debug] QUERY OK source="sources" db=1.2ms queue=0.9ms idle=715.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:28:30.597 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=23.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.645 [debug] QUERY OK source="media_items" db=36.5ms queue=3.7ms idle=22.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")))) [1] 14:28:30.649 [debug] QUERY OK source="media_items" db=1.4ms queue=1.5ms idle=61.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:28:30.653 [debug] QUERY OK source="media_profiles" db=1.1ms queue=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] 14:28:30.659 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=62.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.660 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=62.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.667 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:28:30.668 [debug] Current batch of media processed. Will check again in 1000ms 14:28:30.672 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=23.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.675 [debug] QUERY OK source="settings" db=0.8ms queue=1.8ms idle=23.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:30.676 [debug] QUERY OK source="settings" db=0.8ms idle=21.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.678 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d6/f4/d6f45eb4656038a75303b6fc0eaba1c8da001b3280537e3d8d89c004f3c129fb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:31.670 [debug] Current batch of media processed. Will check again in 1000ms 14:28:32.671 [debug] Current batch of media processed. Will check again in 1000ms 14:28:33.663 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:28:33.664 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:28:33.672 [debug] Current batch of media processed. Will check again in 1000ms 14:28:34.676 [debug] Current batch of media processed. Will check again in 1000ms 14:28:35.678 [debug] Current batch of media processed. Will check again in 1000ms 14:28:36.483 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:28:36.485 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=864.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.492 [info] {"args":{},"id":57,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6837778,"event":"job:stop","queue_time":630493,"attempt":1,"tags":["local_data"]} 14:28:36.681 [debug] Current batch of media processed. Will check again in 1000ms 14:28:37.683 [debug] Current batch of media processed. Will check again in 1000ms 14:28:38.685 [debug] Current batch of media processed. Will check again in 1000ms 14:28:39.686 [debug] Current batch of media processed. Will check again in 1000ms 14:28:40.688 [debug] Current batch of media processed. Will check again in 1000ms 14:28:41.688 [debug] Current batch of media processed. Will check again in 1000ms 14:28:42.692 [debug] Current batch of media processed. Will check again in 1000ms 14:28:43.694 [debug] Current batch of media processed. Will check again in 1000ms 14:28:44.695 [debug] Current batch of media processed. Will check again in 1000ms 14:28:45.696 [debug] Current batch of media processed. Will check again in 1000ms 14:28:46.702 [debug] Current batch of media processed. Will check again in 1000ms 14:28:47.706 [debug] Current batch of media processed. Will check again in 1000ms 14:28:48.708 [debug] Current batch of media processed. Will check again in 1000ms 14:28:49.712 [debug] Current batch of media processed. Will check again in 1000ms 14:28:50.714 [debug] Current batch of media processed. Will check again in 1000ms 14:28:51.724 [debug] Current batch of media processed. Will check again in 1000ms 14:28:52.726 [debug] Current batch of media processed. Will check again in 1000ms 14:28:53.727 [debug] Current batch of media processed. Will check again in 1000ms 14:29:05.214 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:05.215 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:05.215 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:05.215 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:05.220 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:05.249 [debug] QUERY OK source="oban_jobs" db=11.0ms decode=0.2ms queue=68.4ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:29:05.251 [info] Reset 1 executing jobs 14:29:05.254 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:29:08.079 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:29:08.081 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:29:08.933 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:29:08.942 [debug] QUERY OK source="settings" db=2.8ms queue=1.3ms idle=1794.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.948 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1803.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.950 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:29:09.001 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:29:09.051 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:29:09.058 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:29:09.107 [info] {"args":{},"id":58,"meta":{},"system_time":1775960949105630666,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:29:09.108 [info] Updating yt-dlp 14:29:09.109 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:29:10.077 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775960950075302001,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:29:10.094 [debug] QUERY OK source="sources" db=10.2ms queue=1.5ms idle=938.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:29:10.115 [debug] QUERY OK source="settings" db=7.2ms queue=5.6ms idle=44.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:10.245 [debug] QUERY OK source="media_items" db=91.5ms queue=22.2ms idle=56.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")))) [1] 14:29:10.252 [debug] QUERY OK source="media_items" db=3.8ms queue=2.5ms idle=152.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:29:10.257 [debug] QUERY OK source="media_profiles" db=0.5ms queue=1.6ms idle=147.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:10.265 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=154.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:10.267 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=151.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:10.275 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:29:10.278 [debug] Current batch of media processed. Will check again in 1000ms 14:29:10.279 [debug] QUERY OK source="settings" db=1.5ms queue=2.1ms idle=30.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:10.281 [debug] QUERY OK source="settings" db=0.5ms queue=1.1ms idle=27.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:10.283 [debug] QUERY OK source="settings" db=1.8ms idle=24.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:10.287 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a4/eb/a4eb34c8287109d4b5b0bfd0e528102f91ad684cd1be022f330c7167fc001284.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:11.279 [debug] Current batch of media processed. Will check again in 1000ms 14:29:12.281 [debug] Current batch of media processed. Will check again in 1000ms 14:29:13.054 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:29:13.055 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:29:13.282 [debug] Current batch of media processed. Will check again in 1000ms 14:29:14.285 [debug] Current batch of media processed. Will check again in 1000ms 14:29:15.288 [debug] Current batch of media processed. Will check again in 1000ms 14:29:16.024 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:29:16.026 [debug] QUERY OK source="settings" db=1.2ms queue=0.3ms idle=1869.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.035 [info] {"args":{},"id":58,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6922688,"event":"job:stop","queue_time":85234,"attempt":1,"tags":["local_data"]} 14:29:16.290 [debug] Current batch of media processed. Will check again in 1000ms 14:29:17.292 [debug] Current batch of media processed. Will check again in 1000ms 14:29:18.296 [debug] Current batch of media processed. Will check again in 1000ms 14:29:19.297 [debug] Current batch of media processed. Will check again in 1000ms 14:29:20.306 [debug] Current batch of media processed. Will check again in 1000ms 14:29:21.306 [debug] Current batch of media processed. Will check again in 1000ms 14:29:22.310 [debug] Current batch of media processed. Will check again in 1000ms 14:29:23.321 [debug] Current batch of media processed. Will check again in 1000ms 14:29:24.326 [debug] Current batch of media processed. Will check again in 1000ms 14:29:25.330 [debug] Current batch of media processed. Will check again in 1000ms 14:29:26.333 [debug] Current batch of media processed. Will check again in 1000ms 14:29:27.338 [debug] Current batch of media processed. Will check again in 1000ms 14:29:28.346 [debug] Current batch of media processed. Will check again in 1000ms 14:29:29.347 [debug] Current batch of media processed. Will check again in 1000ms 14:29:30.354 [debug] Current batch of media processed. Will check again in 1000ms 14:29:31.366 [debug] Current batch of media processed. Will check again in 1000ms 14:29:32.379 [debug] Current batch of media processed. Will check again in 1000ms 14:29:33.381 [debug] Current batch of media processed. Will check again in 1000ms 14:29:44.180 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:44.178 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:44.180 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:44.181 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:44.181 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:29:44.216 [debug] QUERY OK source="oban_jobs" db=10.0ms decode=0.2ms queue=54.9ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:29:44.217 [info] Reset 1 executing jobs 14:29:44.220 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:29:46.949 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:29:46.951 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:29:47.889 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:29:47.898 [debug] QUERY OK source="settings" db=3.2ms queue=1.1ms idle=1782.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.904 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1791.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:47.906 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:29:47.954 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:29:47.997 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:29:48.004 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:29:48.048 [info] {"args":{},"id":59,"meta":{},"system_time":1775960988046478786,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:29:48.050 [info] Updating yt-dlp 14:29:48.051 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:29:48.977 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775960988975973917,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:29:48.990 [debug] QUERY OK source="sources" db=9.1ms queue=0.9ms idle=870.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:29:48.999 [debug] QUERY OK source="settings" db=1.9ms queue=0.3ms idle=35.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.056 [debug] QUERY OK source="media_items" db=45.3ms queue=4.5ms idle=31.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")))) [1] 14:29:49.064 [debug] QUERY OK source="media_items" db=4.8ms queue=1.7ms idle=67.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:29:49.069 [debug] QUERY OK source="media_profiles" db=1.0ms queue=2.2ms idle=73.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:49.078 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=82.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.080 [debug] QUERY OK source="settings" db=0.7ms queue=0.9ms idle=79.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.085 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:29:49.087 [debug] Current batch of media processed. Will check again in 1000ms 14:29:49.088 [debug] QUERY OK source="settings" db=1.7ms queue=0.9ms idle=29.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.089 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=24.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.092 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=20.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:49.096 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/cd/c0/cdc0250ebc79e6f043b00b35199290d08e629c382d2cc7c4ea369f92e54a906f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:50.088 [debug] Current batch of media processed. Will check again in 1000ms 14:29:51.091 [debug] Current batch of media processed. Will check again in 1000ms 14:29:52.093 [debug] Current batch of media processed. Will check again in 1000ms 14:29:52.616 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:29:52.617 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:29:53.097 [debug] Current batch of media processed. Will check again in 1000ms 14:29:54.098 [debug] Current batch of media processed. Will check again in 1000ms 14:29:55.100 [debug] Current batch of media processed. Will check again in 1000ms 14:29:55.518 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:29:55.523 [debug] QUERY OK source="settings" db=2.2ms queue=1.4ms idle=1409.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.537 [info] {"args":{},"id":59,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":7478421,"event":"job:stop","queue_time":27645,"attempt":1,"tags":["local_data"]} 14:29:56.102 [debug] Current batch of media processed. Will check again in 1000ms 14:29:57.105 [debug] Current batch of media processed. Will check again in 1000ms 14:29:58.108 [debug] Current batch of media processed. Will check again in 1000ms 14:29:59.109 [debug] Current batch of media processed. Will check again in 1000ms 14:30:00.112 [debug] Current batch of media processed. Will check again in 1000ms 14:30:00.950 [info] {"source":"oban","duration":7060,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:30:01.114 [debug] Current batch of media processed. Will check again in 1000ms 14:30:02.116 [debug] Current batch of media processed. Will check again in 1000ms 14:30:03.118 [debug] Current batch of media processed. Will check again in 1000ms 14:30:04.119 [debug] Current batch of media processed. Will check again in 1000ms 14:30:05.122 [debug] Current batch of media processed. Will check again in 1000ms 14:30:06.125 [debug] Current batch of media processed. Will check again in 1000ms 14:30:07.127 [debug] Current batch of media processed. Will check again in 1000ms 14:30:08.129 [debug] Current batch of media processed. Will check again in 1000ms 14:30:09.131 [debug] Current batch of media processed. Will check again in 1000ms 14:30:10.136 [debug] Current batch of media processed. Will check again in 1000ms 14:30:11.140 [debug] Current batch of media processed. Will check again in 1000ms 14:30:12.147 [debug] Current batch of media processed. Will check again in 1000ms 14:30:28.632 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:30:28.634 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:30:28.636 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:30:28.636 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:30:28.639 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:30:28.664 [debug] QUERY OK source="oban_jobs" db=6.4ms decode=0.2ms queue=58.3ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:30:28.665 [info] Reset 1 executing jobs 14:30:28.668 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:30:31.455 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:30:31.457 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:30:32.337 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:30:32.347 [debug] QUERY OK source="settings" db=1.8ms queue=1.1ms idle=1774.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:32.353 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1783.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:32.355 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:30:32.399 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:30:32.437 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:30:32.443 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:30:32.488 [info] {"args":{},"id":60,"meta":{},"system_time":1775961032485971910,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:30:32.490 [info] Updating yt-dlp 14:30:32.490 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:30:33.453 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961033451480060,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:30:33.460 [debug] QUERY OK source="sources" db=1.4ms queue=1.9ms idle=887.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:30:33.468 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=24.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.531 [debug] QUERY OK source="media_items" db=46.2ms queue=8.3ms idle=28.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")))) [1] 14:30:33.569 [debug] QUERY OK source="media_items" db=30.2ms queue=6.7ms idle=81.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:30:33.580 [debug] QUERY OK source="media_profiles" db=1.8ms queue=6.2ms idle=115.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:33.591 [debug] QUERY OK source="settings" db=1.6ms queue=0.4ms idle=129.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.595 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=127.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.602 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:30:33.606 [debug] Current batch of media processed. Will check again in 1000ms 14:30:33.608 [debug] QUERY OK source="settings" db=2.5ms queue=1.9ms idle=71.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.615 [debug] QUERY OK source="settings" db=6.3ms queue=0.1ms idle=39.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.618 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=35.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.622 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/4e/7b/4e7b9f1773af46cebda0dfee61251d6bb0cbcd322eca9946c260cd5e88c916f1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:34.608 [debug] Current batch of media processed. Will check again in 1000ms 14:30:35.614 [debug] Current batch of media processed. Will check again in 1000ms 14:30:36.498 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:30:36.498 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:30:36.615 [debug] Current batch of media processed. Will check again in 1000ms 14:30:37.617 [debug] Current batch of media processed. Will check again in 1000ms 14:30:38.618 [debug] Current batch of media processed. Will check again in 1000ms 14:30:39.486 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:30:39.489 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=1915.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:39.499 [info] {"args":{},"id":60,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":7004440,"event":"job:stop","queue_time":467558,"attempt":1,"tags":["local_data"]} 14:30:39.621 [debug] Current batch of media processed. Will check again in 1000ms 14:30:40.622 [debug] Current batch of media processed. Will check again in 1000ms 14:30:41.630 [debug] Current batch of media processed. Will check again in 1000ms 14:30:42.631 [debug] Current batch of media processed. Will check again in 1000ms 14:30:43.633 [debug] Current batch of media processed. Will check again in 1000ms 14:30:44.634 [debug] Current batch of media processed. Will check again in 1000ms 14:30:45.641 [debug] Current batch of media processed. Will check again in 1000ms 14:30:46.643 [debug] Current batch of media processed. Will check again in 1000ms 14:30:47.646 [debug] Current batch of media processed. Will check again in 1000ms 14:30:48.646 [debug] Current batch of media processed. Will check again in 1000ms 14:30:49.656 [debug] Current batch of media processed. Will check again in 1000ms 14:30:50.663 [debug] Current batch of media processed. Will check again in 1000ms 14:30:51.672 [debug] Current batch of media processed. Will check again in 1000ms 14:30:52.677 [debug] Current batch of media processed. Will check again in 1000ms 14:30:53.681 [debug] Current batch of media processed. Will check again in 1000ms 14:30:54.683 [debug] Current batch of media processed. Will check again in 1000ms 14:30:55.686 [debug] Current batch of media processed. Will check again in 1000ms 14:30:56.687 [debug] Current batch of media processed. Will check again in 1000ms 14:30:57.690 [debug] Current batch of media processed. Will check again in 1000ms 14:31:17.701 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:31:17.702 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:31:17.701 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:31:17.702 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:31:17.702 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:31:17.740 [debug] QUERY OK source="oban_jobs" db=12.5ms decode=0.1ms queue=72.4ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:31:17.741 [info] Reset 1 executing jobs 14:31:17.744 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:31:21.648 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:31:21.654 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:31:22.660 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:31:22.683 [debug] QUERY OK source="settings" db=4.2ms queue=5.2ms idle=1034.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:22.692 [debug] QUERY OK source="settings" db=1.2ms queue=0.3ms idle=1051.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:22.696 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:31:22.766 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:31:22.812 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:31:22.823 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:31:22.918 [info] {"args":{},"id":61,"meta":{},"system_time":1775961082915597808,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:31:22.925 [info] Updating yt-dlp 14:31:22.929 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:31:23.834 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961083834168936,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:31:23.862 [debug] QUERY OK source="sources" db=21.7ms queue=3.2ms idle=199.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:31:23.870 [debug] QUERY OK source="settings" db=4.0ms queue=0.7ms idle=79.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.060 [debug] QUERY OK source="media_items" db=172.1ms queue=6.8ms idle=52.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")))) [1] 14:31:24.069 [debug] QUERY OK source="media_items" db=4.8ms queue=1.5ms idle=229.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:31:24.076 [debug] QUERY OK source="media_profiles" db=1.1ms queue=1.5ms idle=211.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:24.084 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=216.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.087 [debug] QUERY OK source="settings" db=1.4ms queue=0.6ms idle=214.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:24.100 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:31:24.102 [debug] QUERY OK source="settings" db=1.6ms queue=0.3ms idle=40.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.105 [debug] Current batch of media processed. Will check again in 1000ms 14:31:24.106 [debug] QUERY OK source="settings" db=2.9ms idle=33.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.109 [debug] QUERY OK source="settings" db=2.4ms queue=0.2ms idle=30.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:24.115 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/bd/3a/bd3a13716ccdad5957b19fca8e4b49f9f2fdffee508aae669a2ffbf0c048a8db.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:31:25.107 [debug] Current batch of media processed. Will check again in 1000ms 14:31:26.115 [debug] Current batch of media processed. Will check again in 1000ms 14:31:27.124 [debug] Current batch of media processed. Will check again in 1000ms 14:31:28.131 [debug] Current batch of media processed. Will check again in 1000ms 14:31:29.137 [debug] Current batch of media processed. Will check again in 1000ms 14:31:30.143 [debug] Current batch of media processed. Will check again in 1000ms 14:31:30.419 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:31:30.426 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:31:31.165 [debug] Current batch of media processed. Will check again in 1000ms 14:31:32.168 [debug] Current batch of media processed. Will check again in 1000ms 14:31:33.170 [debug] Current batch of media processed. Will check again in 1000ms 14:31:34.174 [debug] Current batch of media processed. Will check again in 1000ms 14:31:35.178 [debug] Current batch of media processed. Will check again in 1000ms 14:31:35.316 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:31:35.329 [debug] QUERY OK source="settings" db=3.9ms queue=0.8ms idle=1207.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.367 [info] {"args":{},"id":61,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":12415787,"event":"job:stop","queue_time":893443,"attempt":1,"tags":["local_data"]} 14:31:36.182 [debug] Current batch of media processed. Will check again in 1000ms 14:31:37.186 [debug] Current batch of media processed. Will check again in 1000ms 14:31:38.191 [debug] Current batch of media processed. Will check again in 1000ms 14:31:39.193 [debug] Current batch of media processed. Will check again in 1000ms 14:31:40.197 [debug] Current batch of media processed. Will check again in 1000ms 14:31:41.199 [debug] Current batch of media processed. Will check again in 1000ms 14:31:42.203 [debug] Current batch of media processed. Will check again in 1000ms 14:31:43.206 [debug] Current batch of media processed. Will check again in 1000ms 14:31:44.208 [debug] Current batch of media processed. Will check again in 1000ms 14:31:45.210 [debug] Current batch of media processed. Will check again in 1000ms 14:31:46.211 [debug] Current batch of media processed. Will check again in 1000ms 14:31:47.219 [debug] Current batch of media processed. Will check again in 1000ms 14:31:48.221 [debug] Current batch of media processed. Will check again in 1000ms 14:31:49.227 [debug] Current batch of media processed. Will check again in 1000ms 14:31:50.233 [debug] Current batch of media processed. Will check again in 1000ms 14:31:51.238 [debug] Current batch of media processed. Will check again in 1000ms 14:31:52.246 [debug] Current batch of media processed. Will check again in 1000ms 14:31:52.759 [info] {"source":"oban","duration":12030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:53.249 [debug] Current batch of media processed. Will check again in 1000ms 14:31:54.251 [debug] Current batch of media processed. Will check again in 1000ms 14:32:06.929 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:06.930 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:06.933 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:06.933 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:06.933 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:06.976 [debug] QUERY OK source="oban_jobs" db=16.6ms decode=0.2ms queue=73.1ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:32:06.977 [info] Reset 1 executing jobs 14:32:06.979 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:32:09.978 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:32:09.983 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:32:10.936 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:32:10.946 [debug] QUERY OK source="settings" db=1.9ms queue=2.3ms idle=76.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:10.957 [debug] QUERY OK source="settings" db=1.2ms queue=0.4ms idle=89.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:10.963 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:11.038 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:32:11.071 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:32:11.078 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:32:11.122 [info] {"args":{},"id":62,"meta":{},"system_time":1775961131120578985,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:32:11.125 [info] Updating yt-dlp 14:32:11.125 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:32:12.072 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961132071550266,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:32:12.082 [debug] QUERY OK source="sources" db=3.3ms queue=5.1ms idle=955.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:12.088 [debug] QUERY OK source="settings" db=1.2ms queue=0.4ms idle=40.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.177 [debug] QUERY OK source="media_items" db=67.9ms queue=6.5ms idle=34.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")))) [1] 14:32:12.187 [debug] QUERY OK source="media_items" db=7.7ms queue=1.9ms idle=106.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:32:12.196 [debug] QUERY OK source="media_profiles" db=1.4ms queue=2.3ms idle=110.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:12.206 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=116.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.209 [debug] QUERY OK source="settings" db=1.1ms queue=1.1ms idle=103.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.220 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:32:12.223 [debug] Current batch of media processed. Will check again in 1000ms 14:32:12.225 [debug] QUERY OK source="settings" db=3.8ms queue=0.2ms idle=44.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.228 [debug] QUERY OK source="settings" db=1.4ms queue=1.3ms idle=38.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.231 [debug] QUERY OK source="settings" db=1.0ms queue=1.5ms idle=32.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.236 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ad/e4/ade4d69a644f5bea4675b14a40169301978179dd83f11fb7a3f50c0d9b8c0c03.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:13.225 [debug] Current batch of media processed. Will check again in 1000ms 14:32:14.227 [debug] Current batch of media processed. Will check again in 1000ms 14:32:15.228 [debug] Current batch of media processed. Will check again in 1000ms 14:32:15.304 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:32:15.306 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:32:16.229 [debug] Current batch of media processed. Will check again in 1000ms 14:32:17.230 [debug] Current batch of media processed. Will check again in 1000ms 14:32:18.168 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:32:18.173 [debug] QUERY OK source="settings" db=3.1ms queue=0.2ms idle=301.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.183 [info] {"args":{},"id":62,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":7053156,"event":"job:stop","attempt":1,"queue_time":104787,"tags":["local_data"]} 14:32:18.233 [debug] Current batch of media processed. Will check again in 1000ms 14:32:19.238 [debug] Current batch of media processed. Will check again in 1000ms 14:32:20.240 [debug] Current batch of media processed. Will check again in 1000ms 14:32:21.244 [debug] Current batch of media processed. Will check again in 1000ms 14:32:22.245 [debug] Current batch of media processed. Will check again in 1000ms 14:32:23.250 [debug] Current batch of media processed. Will check again in 1000ms 14:32:24.253 [debug] Current batch of media processed. Will check again in 1000ms 14:32:25.254 [debug] Current batch of media processed. Will check again in 1000ms 14:32:26.257 [debug] Current batch of media processed. Will check again in 1000ms 14:32:27.258 [debug] Current batch of media processed. Will check again in 1000ms 14:32:28.260 [debug] Current batch of media processed. Will check again in 1000ms 14:32:29.262 [debug] Current batch of media processed. Will check again in 1000ms 14:32:30.263 [debug] Current batch of media processed. Will check again in 1000ms 14:32:31.264 [debug] Current batch of media processed. Will check again in 1000ms 14:32:32.265 [debug] Current batch of media processed. Will check again in 1000ms 14:32:33.270 [debug] Current batch of media processed. Will check again in 1000ms 14:32:34.274 [debug] Current batch of media processed. Will check again in 1000ms 14:32:35.278 [debug] Current batch of media processed. Will check again in 1000ms 14:32:46.433 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:46.434 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:46.435 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:46.435 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:46.435 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:46.468 [debug] QUERY OK source="oban_jobs" db=8.6ms decode=0.2ms queue=72.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:32:46.469 [info] Reset 1 executing jobs 14:32:46.472 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:32:49.250 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:32:49.251 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:32:50.029 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:32:50.038 [debug] QUERY OK source="settings" db=1.8ms queue=1.0ms idle=1688.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.044 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=1695.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.046 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:50.083 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:32:50.119 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:32:50.125 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:32:50.167 [info] {"args":{},"id":63,"meta":{},"system_time":1775961170166062356,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:32:50.169 [info] Updating yt-dlp 14:32:50.169 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:32:51.121 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961171121095053,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:32:51.126 [debug] QUERY OK source="sources" db=1.1ms queue=1.0ms idle=776.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:51.132 [debug] QUERY OK source="settings" db=4.3ms queue=0.2ms idle=26.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.163 [debug] QUERY OK source="media_items" db=20.3ms queue=4.0ms idle=22.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")))) [1] 14:32:51.167 [debug] QUERY OK source="media_items" db=1.8ms queue=1.3ms idle=47.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:32:51.174 [debug] QUERY OK source="media_profiles" db=2.7ms queue=1.4ms idle=51.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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.180 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=54.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.182 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=48.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.189 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:32:51.193 [debug] QUERY OK source="settings" db=0.9ms queue=1.9ms idle=27.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.194 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=26.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.196 [debug] Current batch of media processed. Will check again in 1000ms 14:32:51.197 [debug] QUERY OK source="settings" db=2.7ms idle=19.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.198 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/19/c0/19c088ad1a114555263256cff743c5b685cf934fd4dba079d8ff5cd1ad97104a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:52.197 [debug] Current batch of media processed. Will check again in 1000ms 14:32:53.198 [debug] Current batch of media processed. Will check again in 1000ms 14:32:54.199 [debug] Current batch of media processed. Will check again in 1000ms 14:32:54.387 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:32:54.388 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:32:55.201 [debug] Current batch of media processed. Will check again in 1000ms 14:32:56.204 [debug] Current batch of media processed. Will check again in 1000ms 14:32:57.206 [debug] Current batch of media processed. Will check again in 1000ms 14:32:57.548 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:32:57.552 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=1201.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.563 [info] {"args":{},"id":63,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":7389184,"event":"job:stop","queue_time":149407,"attempt":1,"tags":["local_data"]} 14:32:58.207 [debug] Current batch of media processed. Will check again in 1000ms 14:32:59.209 [debug] Current batch of media processed. Will check again in 1000ms 14:33:00.091 [info] {"source":"oban","duration":3316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:33:00.213 [debug] Current batch of media processed. Will check again in 1000ms 14:33:01.214 [debug] Current batch of media processed. Will check again in 1000ms 14:33:02.216 [debug] Current batch of media processed. Will check again in 1000ms 14:33:03.218 [debug] Current batch of media processed. Will check again in 1000ms 14:33:04.221 [debug] Current batch of media processed. Will check again in 1000ms 14:33:05.225 [debug] Current batch of media processed. Will check again in 1000ms 14:33:06.228 [debug] Current batch of media processed. Will check again in 1000ms 14:33:07.229 [debug] Current batch of media processed. Will check again in 1000ms 14:33:08.233 [debug] Current batch of media processed. Will check again in 1000ms 14:33:09.235 [debug] Current batch of media processed. Will check again in 1000ms 14:33:10.241 [debug] Current batch of media processed. Will check again in 1000ms 14:33:11.243 [debug] Current batch of media processed. Will check again in 1000ms 14:33:12.247 [debug] Current batch of media processed. Will check again in 1000ms 14:33:13.254 [debug] Current batch of media processed. Will check again in 1000ms 14:33:14.256 [debug] Current batch of media processed. Will check again in 1000ms 14:33:26.368 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:33:26.368 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:33:26.368 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:33:26.368 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:33:26.368 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:33:26.400 [debug] QUERY OK source="oban_jobs" db=10.6ms decode=0.2ms queue=175.1ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:33:26.401 [info] Reset 1 executing jobs 14:33:26.404 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:33:29.131 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:33:29.133 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:33:29.938 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:33:29.946 [debug] QUERY OK source="settings" db=3.4ms queue=0.8ms idle=1750.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.951 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1759.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.953 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:29.993 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:33:30.022 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:33:30.029 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:33:30.064 [info] {"args":{},"id":64,"meta":{},"system_time":1775961210062983888,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:33:30.066 [info] Updating yt-dlp 14:33:30.066 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:33:31.016 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961211015572460,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:33:31.022 [debug] QUERY OK source="sources" db=1.2ms queue=1.8ms idle=824.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:31.029 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=25.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.096 [debug] QUERY OK source="media_items" db=54.9ms queue=4.5ms idle=22.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")))) [1] 14:33:31.102 [debug] QUERY OK source="media_items" db=2.3ms queue=3.0ms idle=81.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:33:31.113 [debug] QUERY OK source="media_profiles" db=2.1ms queue=1.7ms idle=88.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:31.128 [debug] QUERY OK source="settings" db=10.6ms queue=0.1ms idle=96.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.132 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms 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 [] 14:33:31.142 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:33:31.145 [debug] Current batch of media processed. Will check again in 1000ms 14:33:31.146 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms 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 [] 14:33:31.147 [debug] QUERY OK source="settings" db=1.3ms idle=44.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.150 [debug] QUERY OK source="settings" db=2.4ms idle=35.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:31.154 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6b/cd/6bcdb086fa1d94269bc26311de4bb1ec1bbd927844beece9f093d25a24246b25.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:32.146 [debug] Current batch of media processed. Will check again in 1000ms 14:33:33.147 [debug] Current batch of media processed. Will check again in 1000ms 14:33:33.792 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:33:33.794 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:33:34.149 [debug] Current batch of media processed. Will check again in 1000ms 14:33:35.150 [debug] Current batch of media processed. Will check again in 1000ms 14:33:36.154 [debug] Current batch of media processed. Will check again in 1000ms 14:33:36.695 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:33:36.700 [debug] QUERY OK source="settings" db=4.2ms queue=0.2ms idle=649.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.706 [info] {"args":{},"id":64,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6638155,"event":"job:stop","queue_time":49871,"attempt":1,"tags":["local_data"]} 14:33:37.155 [debug] Current batch of media processed. Will check again in 1000ms 14:33:38.156 [debug] Current batch of media processed. Will check again in 1000ms 14:33:39.161 [debug] Current batch of media processed. Will check again in 1000ms 14:33:40.165 [debug] Current batch of media processed. Will check again in 1000ms 14:33:41.171 [debug] Current batch of media processed. Will check again in 1000ms 14:33:42.173 [debug] Current batch of media processed. Will check again in 1000ms 14:33:43.181 [debug] Current batch of media processed. Will check again in 1000ms 14:33:44.186 [debug] Current batch of media processed. Will check again in 1000ms 14:33:45.192 [debug] Current batch of media processed. Will check again in 1000ms 14:33:46.195 [debug] Current batch of media processed. Will check again in 1000ms 14:33:47.196 [debug] Current batch of media processed. Will check again in 1000ms 14:33:48.197 [debug] Current batch of media processed. Will check again in 1000ms 14:33:49.198 [debug] Current batch of media processed. Will check again in 1000ms 14:33:50.199 [debug] Current batch of media processed. Will check again in 1000ms 14:33:51.204 [debug] Current batch of media processed. Will check again in 1000ms 14:33:52.207 [debug] Current batch of media processed. Will check again in 1000ms 14:33:53.211 [debug] Current batch of media processed. Will check again in 1000ms 14:33:54.216 [debug] Current batch of media processed. Will check again in 1000ms 14:33:55.219 [debug] Current batch of media processed. Will check again in 1000ms 14:34:06.586 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:06.590 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:06.594 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:06.594 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:06.594 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:06.621 [debug] QUERY OK source="oban_jobs" db=9.4ms decode=0.1ms queue=69.1ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:34:06.623 [info] Reset 1 executing jobs 14:34:06.626 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:34:09.333 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:34:09.335 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:34:10.195 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:34:10.201 [debug] QUERY OK source="settings" db=1.2ms queue=1.1ms idle=1681.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:10.207 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=1688.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:10.209 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:34:10.253 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:34:10.288 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:34:10.294 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:34:10.339 [info] {"args":{},"id":65,"meta":{},"system_time":1775961250337310843,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:34:10.340 [info] Updating yt-dlp 14:34:10.341 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:34:11.283 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961251282864793,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:34:11.292 [debug] QUERY OK source="sources" db=2.4ms queue=4.5ms idle=767.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:11.297 [debug] QUERY OK source="settings" db=1.9ms queue=1.3ms idle=30.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:11.332 [debug] QUERY OK source="media_items" db=18.8ms queue=6.3ms idle=29.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")))) [1] 14:34:11.337 [debug] QUERY OK source="media_items" db=3.4ms queue=1.4ms idle=53.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:34:11.344 [debug] QUERY OK source="media_profiles" db=1.9ms queue=2.1ms idle=57.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:11.353 [debug] QUERY OK source="settings" db=0.5ms queue=0.5ms idle=61.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:11.355 [debug] QUERY OK source="settings" db=1.0ms queue=0.5ms idle=56.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:11.363 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:34:11.366 [debug] Current batch of media processed. Will check again in 1000ms 14:34:11.366 [debug] QUERY OK source="settings" db=2.1ms idle=32.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:11.368 [debug] QUERY OK source="settings" db=0.6ms queue=0.9ms idle=29.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:11.370 [debug] QUERY OK source="settings" db=1.6ms queue=0.3ms idle=24.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:11.374 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/dc/c9/dcc910ebf1e95cbd1983e82030e843db0e3928d93c33a22e89891b390989d536.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:12.367 [debug] Current batch of media processed. Will check again in 1000ms 14:34:13.369 [debug] Current batch of media processed. Will check again in 1000ms 14:34:14.214 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:34:14.215 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:34:14.370 [debug] Current batch of media processed. Will check again in 1000ms 14:34:15.371 [debug] Current batch of media processed. Will check again in 1000ms 14:34:16.372 [debug] Current batch of media processed. Will check again in 1000ms 14:34:16.935 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:34:16.940 [debug] QUERY OK source="settings" db=3.0ms queue=0.3ms idle=626.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:16.952 [info] {"args":{},"id":65,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6603326,"event":"job:stop","queue_time":318505,"attempt":1,"tags":["local_data"]} 14:34:17.373 [debug] Current batch of media processed. Will check again in 1000ms 14:34:18.376 [debug] Current batch of media processed. Will check again in 1000ms 14:34:19.382 [debug] Current batch of media processed. Will check again in 1000ms 14:34:20.388 [debug] Current batch of media processed. Will check again in 1000ms 14:34:21.394 [debug] Current batch of media processed. Will check again in 1000ms 14:34:22.398 [debug] Current batch of media processed. Will check again in 1000ms 14:34:23.400 [debug] Current batch of media processed. Will check again in 1000ms 14:34:24.402 [debug] Current batch of media processed. Will check again in 1000ms 14:34:25.405 [debug] Current batch of media processed. Will check again in 1000ms 14:34:26.408 [debug] Current batch of media processed. Will check again in 1000ms 14:34:27.409 [debug] Current batch of media processed. Will check again in 1000ms 14:34:28.412 [debug] Current batch of media processed. Will check again in 1000ms 14:34:29.414 [debug] Current batch of media processed. Will check again in 1000ms 14:34:30.417 [debug] Current batch of media processed. Will check again in 1000ms 14:34:31.419 [debug] Current batch of media processed. Will check again in 1000ms 14:34:32.423 [debug] Current batch of media processed. Will check again in 1000ms 14:34:33.427 [debug] Current batch of media processed. Will check again in 1000ms 14:34:34.429 [debug] Current batch of media processed. Will check again in 1000ms 14:34:45.472 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:45.473 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:45.473 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:45.473 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:45.473 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:34:45.518 [debug] QUERY OK source="oban_jobs" db=11.5ms decode=0.2ms queue=76.1ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:34:45.519 [info] Reset 1 executing jobs 14:34:45.525 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:34:48.181 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:34:48.182 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:34:49.028 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:34:49.036 [debug] QUERY OK source="settings" db=1.5ms queue=1.6ms idle=1623.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:49.041 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1630.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:49.043 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:34:49.087 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:34:49.122 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:34:49.127 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:34:49.173 [info] {"args":{},"id":66,"meta":{},"system_time":1775961289171534628,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:34:49.175 [info] Updating yt-dlp 14:34:49.176 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:34:50.116 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961290114590327,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:34:50.123 [debug] QUERY OK source="sources" db=1.2ms queue=1.1ms idle=712.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:50.127 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=27.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:50.170 [debug] QUERY OK source="media_items" db=30.9ms queue=4.6ms idle=23.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")))) [1] 14:34:50.175 [debug] QUERY OK source="media_items" db=2.1ms queue=1.7ms idle=58.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:34:50.181 [debug] QUERY OK source="media_profiles" db=1.8ms queue=2.1ms idle=59.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:50.188 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=64.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:50.190 [debug] QUERY OK source="settings" db=0.8ms idle=61.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:50.196 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:34:50.198 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=26.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:50.200 [debug] Current batch of media processed. Will check again in 1000ms 14:34:50.201 [debug] QUERY OK source="settings" db=1.4ms queue=0.8ms idle=23.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:50.202 [debug] QUERY OK source="settings" db=0.6ms idle=19.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:50.205 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/15/a5/15a5619e8689622ae6413e3e9428ba24b4d8dae2f6b9c081c725f6fd42a22247.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:51.200 [debug] Current batch of media processed. Will check again in 1000ms 14:34:52.201 [debug] Current batch of media processed. Will check again in 1000ms 14:34:53.091 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:34:53.093 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:34:53.202 [debug] Current batch of media processed. Will check again in 1000ms 14:34:53.870 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 139 with: 14:34:53.888 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"\"}","args":{},"id":66,"meta":{},"state":"failure","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":4699904,"event":"job:exception","queue_time":149186,"attempt":1,"tags":["local_data"]} 14:34:54.204 [debug] Current batch of media processed. Will check again in 1000ms 14:34:55.205 [debug] Current batch of media processed. Will check again in 1000ms 14:34:56.208 [debug] Current batch of media processed. Will check again in 1000ms 14:34:57.211 [debug] Current batch of media processed. Will check again in 1000ms 14:34:58.216 [debug] Current batch of media processed. Will check again in 1000ms 14:34:59.222 [debug] Current batch of media processed. Will check again in 1000ms 14:35:00.087 [info] {"source":"oban","duration":3365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:35:00.223 [debug] Current batch of media processed. Will check again in 1000ms 14:35:01.225 [debug] Current batch of media processed. Will check again in 1000ms 14:35:02.227 [debug] Current batch of media processed. Will check again in 1000ms 14:35:03.229 [debug] Current batch of media processed. Will check again in 1000ms 14:35:04.231 [debug] Current batch of media processed. Will check again in 1000ms 14:35:05.234 [debug] Current batch of media processed. Will check again in 1000ms 14:35:06.237 [debug] Current batch of media processed. Will check again in 1000ms 14:35:07.240 [debug] Current batch of media processed. Will check again in 1000ms 14:35:08.244 [debug] Current batch of media processed. Will check again in 1000ms 14:35:09.253 [debug] Current batch of media processed. Will check again in 1000ms 14:35:10.260 [debug] Current batch of media processed. Will check again in 1000ms 14:35:11.265 [debug] Current batch of media processed. Will check again in 1000ms 14:35:11.371 [info] {"args":{},"id":66,"meta":{},"system_time":1775961311369986597,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":2,"tags":["local_data"]} 14:35:11.371 [info] Updating yt-dlp 14:35:11.373 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:35:12.267 [debug] Current batch of media processed. Will check again in 1000ms 14:35:13.274 [debug] Current batch of media processed. Will check again in 1000ms 14:35:14.275 [debug] Current batch of media processed. Will check again in 1000ms 14:35:15.276 [debug] Current batch of media processed. Will check again in 1000ms 14:35:15.954 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:35:15.955 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:35:16.019 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 139 with: 14:35:16.060 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"\"}","args":{},"id":66,"meta":{},"state":"failure","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":4649667,"event":"job:exception","queue_time":483206,"attempt":2,"tags":["local_data"]} 14:35:16.278 [debug] Current batch of media processed. Will check again in 1000ms 14:35:17.280 [debug] Current batch of media processed. Will check again in 1000ms 14:35:18.282 [debug] Current batch of media processed. Will check again in 1000ms 14:35:19.092 [info] {"source":"oban","duration":9045,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:19.284 [debug] Current batch of media processed. Will check again in 1000ms 14:35:20.286 [debug] Current batch of media processed. Will check again in 1000ms 14:35:21.286 [debug] Current batch of media processed. Will check again in 1000ms 14:35:22.288 [debug] Current batch of media processed. Will check again in 1000ms 14:35:23.290 [debug] Current batch of media processed. Will check again in 1000ms 14:35:24.290 [debug] Current batch of media processed. Will check again in 1000ms 14:35:25.293 [debug] Current batch of media processed. Will check again in 1000ms 14:35:26.295 [debug] Current batch of media processed. Will check again in 1000ms 14:35:27.296 [debug] Current batch of media processed. Will check again in 1000ms 14:35:28.297 [debug] Current batch of media processed. Will check again in 1000ms 14:35:29.298 [debug] Current batch of media processed. Will check again in 1000ms 14:35:30.300 [debug] Current batch of media processed. Will check again in 1000ms 14:35:31.301 [debug] Current batch of media processed. Will check again in 1000ms 14:35:32.303 [debug] Current batch of media processed. Will check again in 1000ms 14:35:33.307 [debug] Current batch of media processed. Will check again in 1000ms 14:35:44.965 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:35:44.973 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:35:44.973 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:35:44.973 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:35:44.973 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:35:44.994 [debug] QUERY OK source="oban_jobs" db=6.4ms decode=0.2ms queue=61.2ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:35:44.994 [info] Reset 1 executing jobs 14:35:44.997 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:35:47.840 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:35:47.841 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:35:48.687 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:35:48.698 [debug] QUERY OK source="settings" db=3.0ms queue=2.1ms idle=1789.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.704 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1799.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.706 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:35:48.751 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:35:48.784 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:35:48.790 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:35:48.828 [info] {"args":{},"id":67,"meta":{},"system_time":1775961348827099818,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:35:48.830 [info] Updating yt-dlp 14:35:48.830 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:35:49.788 [info] {"args":{},"id":66,"meta":{},"system_time":1775961349788226417,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":3,"tags":["local_data"]} 14:35:49.791 [info] Updating yt-dlp 14:35:49.792 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:35:49.815 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961349813584058,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:35:49.822 [debug] QUERY OK source="sources" db=1.9ms queue=2.0ms idle=45.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:35:49.832 [debug] QUERY OK source="settings" db=6.6ms queue=0.1ms idle=38.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.902 [debug] QUERY OK source="media_items" db=45.4ms queue=9.0ms idle=35.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")))) [1] 14:35:49.915 [debug] QUERY OK source="media_items" db=4.1ms queue=6.0ms idle=92.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:35:49.946 [debug] QUERY OK source="media_profiles" db=18.4ms queue=4.2ms idle=100.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:49.961 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=131.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.965 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms 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 [] 14:35:49.984 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:35:49.995 [debug] Current batch of media processed. Will check again in 1000ms 14:35:50.001 [debug] QUERY OK source="settings" db=16.6ms queue=0.2ms idle=82.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:50.005 [debug] QUERY OK source="settings" db=0.9ms queue=2.3ms idle=86.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:50.009 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=60.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.015 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/33/c2/33c2fb41caebc4ef98ae989038ddf81875fde9eed21800c512d208f4df47c125.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:35:50.996 [debug] Current batch of media processed. Will check again in 1000ms 14:35:52.000 [debug] Current batch of media processed. Will check again in 1000ms 14:35:53.004 [debug] Current batch of media processed. Will check again in 1000ms 14:35:54.006 [debug] Current batch of media processed. Will check again in 1000ms 14:35:55.007 [debug] Current batch of media processed. Will check again in 1000ms 14:35:55.251 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:35:55.252 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:35:55.562 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:35:55.562 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:35:56.009 [debug] Current batch of media processed. Will check again in 1000ms 14:35:57.010 [debug] Current batch of media processed. Will check again in 1000ms 14:35:58.011 [debug] Current batch of media processed. Will check again in 1000ms 14:35:59.016 [debug] Current batch of media processed. Will check again in 1000ms 14:35:59.283 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:35:59.287 [debug] QUERY OK source="settings" db=1.9ms queue=2.2ms idle=1375.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.291 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:35:59.296 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=1384.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.304 [info] {"args":{},"id":67,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":10461410,"event":"job:stop","queue_time":810072,"attempt":1,"tags":["local_data"]} 14:35:59.308 [info] {"args":{},"id":66,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":9508235,"event":"job:stop","queue_time":13755323,"attempt":3,"tags":["local_data"]} 14:36:00.020 [debug] Current batch of media processed. Will check again in 1000ms 14:36:00.747 [info] {"source":"oban","duration":2937,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:36:01.022 [debug] Current batch of media processed. Will check again in 1000ms 14:36:02.027 [debug] Current batch of media processed. Will check again in 1000ms 14:36:03.029 [debug] Current batch of media processed. Will check again in 1000ms 14:36:04.035 [debug] Current batch of media processed. Will check again in 1000ms 14:36:05.036 [debug] Current batch of media processed. Will check again in 1000ms 14:36:06.042 [debug] Current batch of media processed. Will check again in 1000ms 14:36:07.046 [debug] Current batch of media processed. Will check again in 1000ms 14:36:08.047 [debug] Current batch of media processed. Will check again in 1000ms 14:36:09.052 [debug] Current batch of media processed. Will check again in 1000ms 14:36:10.053 [debug] Current batch of media processed. Will check again in 1000ms 14:36:11.059 [debug] Current batch of media processed. Will check again in 1000ms 14:36:12.060 [debug] Current batch of media processed. Will check again in 1000ms 14:36:13.066 [debug] Current batch of media processed. Will check again in 1000ms 14:36:14.068 [debug] Current batch of media processed. Will check again in 1000ms 14:36:25.912 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:25.914 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:25.914 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:25.914 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:25.914 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:25.948 [debug] QUERY OK source="oban_jobs" db=10.5ms decode=0.2ms queue=73.3ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:36:25.949 [info] Reset 1 executing jobs 14:36:25.951 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:36:28.747 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:36:28.749 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:36:29.513 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:36:29.522 [debug] QUERY OK source="settings" db=2.7ms queue=1.1ms idle=1678.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.527 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1686.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.529 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:36:29.573 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:36:29.604 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:36:29.610 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:36:29.649 [info] {"args":{},"id":68,"meta":{},"system_time":1775961389648408328,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:36:29.651 [info] Updating yt-dlp 14:36:29.651 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:36:30.592 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961390590945756,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":18,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:36:30.598 [debug] QUERY OK source="sources" db=1.9ms queue=2.8ms idle=753.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:36:30.604 [debug] QUERY OK source="settings" db=1.3ms queue=1.9ms idle=22.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:36:30.634 [debug] QUERY OK source="media_items" db=18.4ms queue=4.6ms idle=20.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")))) [1] 14:36:30.639 [debug] QUERY OK source="media_items" db=1.9ms queue=1.1ms idle=39.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:36:30.645 [debug] QUERY OK source="media_profiles" db=0.8ms queue=1.2ms idle=44.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:30.651 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=47.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.653 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=47.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.660 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:36:30.662 [debug] Current batch of media processed. Will check again in 1000ms 14:36:30.662 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=26.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.664 [debug] QUERY OK source="settings" db=1.1ms queue=0.6ms idle=23.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.666 [debug] QUERY OK source="settings" db=0.5ms queue=1.1ms idle=19.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:36:30.670 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9a/f1/9af15b9b5680f2bd1e27aca2865e039742bc47f787e9d6b0b11652b6cc295f8c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:36:31.663 [debug] Current batch of media processed. Will check again in 1000ms 14:36:32.664 [debug] Current batch of media processed. Will check again in 1000ms 14:36:33.649 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:36:33.653 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:36:33.665 [debug] Current batch of media processed. Will check again in 1000ms 14:36:34.667 [debug] Current batch of media processed. Will check again in 1000ms 14:36:35.669 [debug] Current batch of media processed. Will check again in 1000ms 14:36:36.479 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:36:36.482 [debug] QUERY OK source="settings" db=1.5ms queue=0.2ms idle=855.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.489 [info] {"args":{},"id":68,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6834759,"event":"job:stop","queue_time":632380,"attempt":1,"tags":["local_data"]} 14:36:36.673 [debug] Current batch of media processed. Will check again in 1000ms 14:36:37.676 [debug] Current batch of media processed. Will check again in 1000ms 14:36:38.679 [debug] Current batch of media processed. Will check again in 1000ms 14:36:39.682 [debug] Current batch of media processed. Will check again in 1000ms 14:36:40.682 [debug] Current batch of media processed. Will check again in 1000ms 14:36:41.687 [debug] Current batch of media processed. Will check again in 1000ms 14:36:42.688 [debug] Current batch of media processed. Will check again in 1000ms 14:36:43.693 [debug] Current batch of media processed. Will check again in 1000ms 14:36:44.695 [debug] Current batch of media processed. Will check again in 1000ms 14:36:45.701 [debug] Current batch of media processed. Will check again in 1000ms 14:36:46.704 [debug] Current batch of media processed. Will check again in 1000ms 14:36:47.705 [debug] Current batch of media processed. Will check again in 1000ms 14:36:48.707 [debug] Current batch of media processed. Will check again in 1000ms 14:36:49.710 [debug] Current batch of media processed. Will check again in 1000ms 14:36:50.712 [debug] Current batch of media processed. Will check again in 1000ms 14:36:51.714 [debug] Current batch of media processed. Will check again in 1000ms 14:36:52.717 [debug] Current batch of media processed. Will check again in 1000ms 14:37:04.334 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:04.337 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:04.337 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:04.337 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:04.337 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:04.373 [debug] QUERY OK source="oban_jobs" db=10.2ms decode=0.2ms queue=75.4ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:37:04.374 [info] Reset 1 executing jobs 14:37:04.380 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:37:07.110 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:37:07.111 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:37:07.925 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:37:07.934 [debug] QUERY OK source="settings" db=3.6ms queue=1.1ms idle=1666.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:07.940 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=1675.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:07.941 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:37:07.989 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:37:08.023 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:37:08.030 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:37:08.075 [info] {"args":{},"id":69,"meta":{},"system_time":1775961428073895130,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:37:08.077 [info] Updating yt-dlp 14:37:08.077 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:37:09.027 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961429026256379,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":19,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:37:09.035 [debug] QUERY OK source="sources" db=2.4ms queue=4.2ms idle=766.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:37:09.039 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=45.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:09.100 [debug] QUERY OK source="media_items" db=45.1ms queue=6.1ms idle=27.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")))) [1] 14:37:09.107 [debug] QUERY OK source="media_items" db=3.2ms queue=1.8ms idle=79.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:37:09.118 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.7ms 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] 14:37:09.133 [debug] QUERY OK source="settings" db=0.8ms queue=0.4ms idle=97.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:09.135 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=94.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:09.149 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:37:09.155 [debug] Current batch of media processed. Will check again in 1000ms 14:37:09.157 [debug] QUERY OK source="settings" db=3.3ms queue=4.3ms idle=49.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:09.161 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=52.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:09.166 [debug] QUERY OK source="settings" db=4.5ms queue=0.1ms idle=43.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:09.170 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/2b/53/2b53b4f244353238351116de628248e3286ebba3d7b9f40c6153ab7178ba2b40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:37:10.157 [debug] Current batch of media processed. Will check again in 1000ms 14:37:11.158 [debug] Current batch of media processed. Will check again in 1000ms 14:37:12.039 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:37:12.041 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:37:12.161 [debug] Current batch of media processed. Will check again in 1000ms 14:37:13.162 [debug] Current batch of media processed. Will check again in 1000ms 14:37:14.165 [debug] Current batch of media processed. Will check again in 1000ms 14:37:14.812 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:37:14.819 [debug] QUERY OK source="settings" db=5.7ms queue=0.1ms idle=764.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:14.827 [info] {"args":{},"id":69,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6745847,"event":"job:stop","queue_time":56058,"attempt":1,"tags":["local_data"]} 14:37:15.171 [debug] Current batch of media processed. Will check again in 1000ms 14:37:16.173 [debug] Current batch of media processed. Will check again in 1000ms 14:37:17.184 [debug] Current batch of media processed. Will check again in 1000ms 14:37:18.187 [debug] Current batch of media processed. Will check again in 1000ms 14:37:19.192 [debug] Current batch of media processed. Will check again in 1000ms 14:37:20.194 [debug] Current batch of media processed. Will check again in 1000ms 14:37:21.199 [debug] Current batch of media processed. Will check again in 1000ms 14:37:22.201 [debug] Current batch of media processed. Will check again in 1000ms 14:37:23.202 [debug] Current batch of media processed. Will check again in 1000ms 14:37:24.203 [debug] Current batch of media processed. Will check again in 1000ms 14:37:25.205 [debug] Current batch of media processed. Will check again in 1000ms 14:37:26.206 [debug] Current batch of media processed. Will check again in 1000ms 14:37:27.207 [debug] Current batch of media processed. Will check again in 1000ms 14:37:28.209 [debug] Current batch of media processed. Will check again in 1000ms 14:37:29.211 [debug] Current batch of media processed. Will check again in 1000ms 14:37:30.215 [debug] Current batch of media processed. Will check again in 1000ms 14:37:31.223 [debug] Current batch of media processed. Will check again in 1000ms 14:37:32.229 [debug] Current batch of media processed. Will check again in 1000ms 14:37:44.733 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:44.734 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:44.734 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:44.734 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:44.735 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:37:44.771 [debug] QUERY OK source="oban_jobs" db=12.1ms decode=0.2ms queue=67.5ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:37:44.772 [info] Reset 1 executing jobs 14:37:44.777 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:37:47.787 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:37:47.788 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:37:48.636 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:37:48.647 [debug] QUERY OK source="settings" db=1.8ms queue=1.2ms idle=1987.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:48.653 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1996.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:48.655 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:37:48.701 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:37:48.739 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:37:48.745 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:37:48.790 [info] {"args":{},"id":70,"meta":{},"system_time":1775961468788571935,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:37:48.792 [info] Updating yt-dlp 14:37:48.792 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:37:49.742 [info] {"args":{"force":true,"id":1},"id":51,"meta":{},"system_time":1775961469741914041,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":20,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:37:49.751 [debug] QUERY OK source="sources" db=1.7ms queue=1.1ms idle=962.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:37:49.756 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=33.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.796 [debug] QUERY OK source="media_items" db=22.5ms queue=7.7ms idle=30.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")))) [1] 14:37:49.802 [debug] QUERY OK source="media_items" db=2.9ms queue=2.2ms idle=60.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:37:49.811 [debug] QUERY OK source="media_profiles" db=1.1ms queue=2.7ms idle=66.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:37:49.821 [debug] QUERY OK source="settings" db=0.8ms queue=1.0ms idle=68.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.824 [debug] QUERY OK source="settings" db=2.2ms queue=0.2ms idle=65.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.833 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:37:49.840 [debug] Current batch of media processed. Will check again in 1000ms 14:37:49.842 [debug] QUERY OK source="settings" db=8.1ms queue=0.2ms idle=37.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.848 [debug] QUERY OK source="settings" db=2.2ms queue=1.7ms idle=41.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.851 [debug] QUERY OK source="settings" db=1.0ms queue=0.6ms idle=38.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.858 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/H3 Podcast/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c9/9f/c99fa3282a1a43040beaf8a7584b72f8d1ed0004087cc105533eb62092bb48b5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:37:50.842 [debug] Current batch of media processed. Will check again in 1000ms 14:37:51.844 [debug] Current batch of media processed. Will check again in 1000ms 14:37:52.846 [debug] Current batch of media processed. Will check again in 1000ms 14:37:53.074 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:37:53.075 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:37:53.849 [debug] Current batch of media processed. Will check again in 1000ms 14:37:54.850 [debug] Current batch of media processed. Will check again in 1000ms 14:37:55.852 [debug] Current batch of media processed. Will check again in 1000ms 14:37:56.024 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:37:56.028 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=1231.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:56.038 [info] {"args":{},"id":70,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":7240972,"event":"job:stop","queue_time":771461,"attempt":1,"tags":["local_data"]} 14:37:56.855 [debug] Current batch of media processed. Will check again in 1000ms 14:37:57.857 [debug] Current batch of media processed. Will check again in 1000ms 14:37:58.859 [debug] Current batch of media processed. Will check again in 1000ms 14:37:59.862 [debug] Current batch of media processed. Will check again in 1000ms 14:38:00.701 [info] {"source":"oban","duration":3614,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:38:00.863 [debug] Current batch of media processed. Will check again in 1000ms 14:38:01.865 [debug] Current batch of media processed. Will check again in 1000ms 14:38:02.868 [debug] Current batch of media processed. Will check again in 1000ms 14:38:03.870 [debug] Current batch of media processed. Will check again in 1000ms 14:38:04.874 [debug] Current batch of media processed. Will check again in 1000ms 14:38:05.876 [debug] Current batch of media processed. Will check again in 1000ms 14:38:06.880 [debug] Current batch of media processed. Will check again in 1000ms 14:38:07.882 [debug] Current batch of media processed. Will check again in 1000ms 14:38:08.886 [debug] Current batch of media processed. Will check again in 1000ms 14:38:09.890 [debug] Current batch of media processed. Will check again in 1000ms 14:38:10.896 [debug] Current batch of media processed. Will check again in 1000ms 14:38:11.898 [debug] Current batch of media processed. Will check again in 1000ms 14:38:12.902 [debug] Current batch of media processed. Will check again in 1000ms 14:38:24.959 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:38:24.960 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:38:24.960 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:38:24.960 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:38:24.960 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:38:24.990 [debug] QUERY OK source="oban_jobs" db=9.2ms decode=0.2ms queue=60.9ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:38:24.991 [info] Reset 1 executing jobs 14:38:24.997 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:38:27.872 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:38:27.873 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:38:28.781 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:38:28.788 [debug] QUERY OK source="settings" db=2.2ms queue=1.5ms idle=1885.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:28.793 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1892.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:28.794 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:38:28.828 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:38:28.862 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:38:28.869 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:38:28.906 [info] {"args":{},"id":71,"meta":{},"system_time":1775961508905442876,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:38:28.908 [info] Updating yt-dlp 14:38:28.908 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:38:32.491 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 14:38:32.493 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:38:35.263 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 14:38:35.269 [debug] QUERY OK source="settings" db=4.7ms queue=0.3ms idle=363.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:35.276 [info] {"args":{},"id":71,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6364682,"event":"job:stop","queue_time":891054,"attempt":1,"tags":["local_data"]} 14:38:58.869 [info] {"source":"oban","duration":31760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.842 [info] {"source":"oban","duration":6286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:39:28.885 [info] {"source":"oban","duration":11524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:37.691 [info] GET / 14:39:37.697 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:39:37.704 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=1605.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:37.710 [debug] QUERY OK source="media_profiles" db=2.0ms queue=1.6ms idle=606.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:39:37.713 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms idle=593.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:39:37.756 [debug] QUERY OK source="media_items" db=41.0ms queue=0.8ms idle=594.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:39:37.759 [debug] QUERY OK source="media_items" db=1.5ms queue=0.5ms idle=637.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:39:37.764 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=60.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:37.766 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=54.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:37.772 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=58.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:37.793 [debug] QUERY OK source="tasks" db=2.8ms queue=0.2ms idle=34.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:39:37.820 [debug] QUERY OK source="media_items" db=0.4ms queue=0.7ms idle=60.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:39:37.825 [debug] QUERY OK source="media_items" db=2.3ms queue=1.0ms idle=57.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:39:37.835 [debug] QUERY OK source="media_items" db=2.8ms queue=2.3ms idle=63.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:39:37.840 [debug] QUERY OK source="media_items" db=3.0ms queue=1.4ms idle=64.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:39:37.860 [info] Sent 200 in 169ms 14:39:58.905 [info] {"source":"oban","duration":13628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.852 [info] {"source":"oban","duration":3024,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:40:28.920 [info] {"source":"oban","duration":10787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:58.931 [info] {"source":"oban","duration":8095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.860 [info] {"source":"oban","duration":1181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:41:28.955 [info] {"source":"oban","duration":16235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:58.973 [info] {"source":"oban","duration":12785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.864 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:42:28.986 [info] {"source":"oban","duration":8159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:59.005 [info] {"source":"oban","duration":13986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.872 [info] {"source":"oban","duration":4235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:43:29.021 [info] {"source":"oban","duration":11758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:59.036 [info] {"source":"oban","duration":6718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.876 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:44:29.054 [info] {"source":"oban","duration":13453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:59.071 [info] {"source":"oban","duration":12790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.886 [info] {"source":"oban","duration":2658,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:45:29.099 [info] {"source":"oban","duration":18557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:59.109 [info] {"source":"oban","duration":5249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.895 [info] {"source":"oban","duration":3042,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:46:29.122 [info] {"source":"oban","duration":9989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:59.134 [info] {"source":"oban","duration":8835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.900 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:47:29.149 [info] {"source":"oban","duration":10798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:59.167 [info] {"source":"oban","duration":13810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.909 [info] {"source":"oban","duration":4091,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:48:29.184 [info] {"source":"oban","duration":11524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:59.202 [info] {"source":"oban","duration":10722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.921 [info] {"source":"oban","duration":5518,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:49:29.231 [info] {"source":"oban","duration":23383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:59.249 [info] {"source":"oban","duration":11584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.935 [info] {"source":"oban","duration":2167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:50:29.265 [info] {"source":"oban","duration":8169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:59.286 [info] {"source":"oban","duration":9489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.943 [info] {"source":"oban","duration":2456,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:51:29.295 [info] {"source":"oban","duration":6825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:59.309 [info] {"source":"oban","duration":12277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.951 [info] {"source":"oban","duration":1102,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:52:29.327 [info] {"source":"oban","duration":10464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:29.992 [info] GET / 14:52:29.995 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:52:30.000 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=671.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.017 [debug] QUERY OK source="media_profiles" db=15.9ms queue=0.1ms idle=516.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:52:30.019 [debug] QUERY OK source="sources" db=1.4ms queue=0.4ms idle=517.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:52:30.021 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=519.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:30.022 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=519.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:30.024 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=23.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.026 [debug] QUERY OK source="settings" db=1.4ms queue=0.5ms 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:52:30.029 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:30.035 [debug] QUERY OK source="tasks" db=1.2ms idle=13.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:52:30.038 [debug] QUERY OK source="media_items" db=0.3ms idle=15.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:30.040 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=14.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:52:30.046 [debug] QUERY OK source="media_items" db=3.1ms idle=15.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:52:30.049 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=16.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:52:30.052 [info] Sent 200 in 61ms 14:52:32.017 [info] GET / 14:52:32.019 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:52:32.025 [debug] QUERY OK source="settings" db=2.6ms queue=0.5ms idle=500.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:32.029 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.1ms idle=486.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:52:32.034 [debug] QUERY OK source="sources" db=3.3ms queue=0.4ms idle=489.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:52:32.036 [debug] QUERY OK source="media_items" db=1.3ms queue=0.2ms idle=494.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:32.039 [debug] QUERY OK source="media_items" db=0.9ms queue=0.3ms idle=461.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:32.043 [debug] QUERY OK source="settings" db=2.1ms queue=0.4ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:32.045 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=14.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.048 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:32.053 [debug] QUERY OK source="tasks" db=1.2ms queue=0.1ms idle=15.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:52:32.056 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=16.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:32.060 [debug] QUERY OK source="media_items" db=1.9ms queue=0.4ms idle=14.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:52:32.063 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=16.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:52:32.066 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=15.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:52:32.071 [info] Sent 200 in 53ms 14:52:33.294 [info] GET / 14:52:33.297 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:52:33.305 [debug] QUERY OK source="settings" db=3.7ms queue=1.0ms idle=1233.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.307 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.3ms idle=767.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:52:33.309 [debug] QUERY OK source="sources" db=0.9ms queue=0.5ms idle=748.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:52:33.311 [debug] QUERY OK source="media_items" db=0.8ms queue=0.5ms idle=747.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:33.342 [debug] QUERY OK source="media_items" db=30.3ms queue=0.1ms idle=748.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:33.343 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=37.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.345 [debug] QUERY OK source="settings" db=0.8ms 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 [] 14:52:33.347 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=36.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.351 [debug] QUERY OK source="tasks" db=1.0ms idle=39.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:52:33.353 [debug] QUERY OK source="media_items" db=0.5ms idle=11.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:33.356 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=10.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:52:33.359 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=12.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:52:33.412 [debug] QUERY OK source="media_items" db=52.0ms idle=12.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:52:33.415 [info] Sent 200 in 121ms 14:52:39.012 [info] GET /assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd 14:52:39.020 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=436.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.021 [debug] QUERY OK source="settings" db=0.9ms idle=398.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.022 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:39.025 [error] #PID<0.2667.0> running PinchflatWeb.Endpoint (connection #PID<0.2666.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/app-84c55c57753816656f5134f541d32ba5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2666.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 47148}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2667.0>, params: %{}, path_info: ["assets", "app-84c55c57753816656f5134f541d32ba5"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8Wydmf60veK8AAAQx"} ], 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.2666.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 47148}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/app-84c55c57753816656f5134f541d32ba5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2666.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 47148}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QA (truncated) 14:52:39.876 [info] GET /sources 14:52:39.877 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:52:39.887 [info] GET /media_profiles 14:52:39.889 [debug] QUERY OK source="settings" db=4.0ms queue=0.6ms idle=863.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.892 [info] GET / 14:52:39.893 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:52:39.889 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:52:39.896 [debug] QUERY OK source="settings" db=5.2ms queue=0.3ms idle=258.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.905 [info] GET /https%3A/discord.gg/j7T6dCuwU4 14:52:39.906 [debug] QUERY OK source="settings" db=5.9ms queue=4.6ms idle=253.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.907 [debug] QUERY OK source="settings" db=6.1ms queue=0.2ms idle=256.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.912 [info] GET /https%3A/github.com/kieraneglin/pinchflat 14:52:39.916 [info] GET /https%3A/github.com/kieraneglin/pinchflat/wiki 14:52:39.917 [debug] QUERY OK source="media_profiles" db=9.4ms queue=2.1ms idle=262.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 14:52:39.917 [debug] QUERY OK source="media_profiles" db=8.1ms queue=1.2ms idle=10.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:52:39.916 [info] GET /https%3A/github.com/kieraneglin/pinchflat/releases 14:52:39.919 [debug] QUERY OK source="settings" db=12.6ms queue=0.2ms idle=17.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:39.920 [debug] QUERY OK source="settings" db=8.3ms queue=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:39.923 [debug] QUERY OK source="settings" db=4.2ms queue=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:52:39.925 [debug] QUERY OK source="settings" db=5.7ms queue=6.3ms 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:52:39.926 [debug] QUERY OK source="settings" db=0.6ms 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 [] 14:52:39.925 [debug] QUERY OK source="settings" db=5.1ms queue=1.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:39.933 [debug] QUERY OK source="sources" db=7.3ms queue=2.9ms idle=3.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:52:39.933 [info] GET /%23 14:52:39.938 [debug] QUERY OK source="settings" db=10.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:52:39.938 [debug] QUERY OK source="settings" db=12.6ms queue=2.6ms 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:39.940 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:39.941 [debug] QUERY OK source="settings" db=4.8ms queue=9.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 [] 14:52:39.936 [debug] QUERY OK source="settings" db=8.5ms queue=4.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 [] 14:52:39.938 [info] GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 14:52:39.947 [info] GET /favicon.ico%3Fcachebust%3D2024-03-20 14:52:39.947 [info] GET /https%3A/supporters.eff.org/donate 14:52:39.956 [debug] QUERY OK source="settings" db=13.4ms queue=4.9ms 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:52:39.953 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:39.956 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:39.956 [debug] QUERY OK source="media_items" db=13.9ms queue=6.3ms idle=7.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:39.957 [debug] QUERY OK source="settings" db=4.4ms queue=6.6ms 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:52:39.965 [debug] QUERY OK source="settings" db=14.5ms queue=7.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:39.965 [debug] QUERY OK source="sources" db=15.9ms queue=10.5ms idle=2.5ms 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)) [] 14:52:39.971 [info] GET /settings 14:52:39.971 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:39.982 [debug] QUERY OK source="settings" db=18.4ms queue=14.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 [] 14:52:39.982 [debug] QUERY OK source="settings" db=19.0ms queue=10.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 [] 14:52:39.972 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:52:39.985 [debug] QUERY OK source="settings" db=18.5ms queue=10.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 [] 14:52:39.980 [debug] QUERY OK source="settings" db=16.3ms queue=10.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 [] 14:52:40.001 [info] Sent 200 in 114ms 14:52:40.002 [debug] QUERY OK source="media_items" db=19.3ms queue=7.6ms idle=9.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:40.003 [info] GET /app_info 14:52:40.006 [debug] QUERY OK source="sources" db=16.9ms queue=5.5ms 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", 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] 14:52:40.007 [debug] QUERY OK source="settings" db=8.6ms queue=3.2ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:40.004 [debug] QUERY OK source="settings" db=20.9ms queue=7.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 [] 14:52:39.948 [error] #PID<0.2679.0> running PinchflatWeb.Endpoint (connection #PID<0.2676.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2676.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42978}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2679.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8W10E3aAoll0AAASB"} ], 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.2676.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42978}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2676.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42978}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydR (truncated) 14:52:40.015 [debug] QUERY OK source="settings" db=7.1ms queue=9.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 [] 14:52:40.014 [debug] QUERY OK source="settings" db=8.0ms queue=7.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 [] 14:52:40.013 [debug] QUERY OK source="settings" db=11.7ms queue=4.0ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:39.987 [error] #PID<0.2680.0> running PinchflatWeb.Endpoint (connection #PID<0.2677.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat/releases ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/releases (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/releases", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42990}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2680.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat", "releases"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat/releases", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8W11CJckAGdMAAASR"} ], 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.2677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/releases", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42990}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/releases (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/releases", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42990}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3 (truncated) 14:52:39.978 [error] #PID<0.2675.0> running PinchflatWeb.Endpoint (connection #PID<0.2674.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/discord.gg/j7T6dCuwU4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/discord.gg/j7T6dCuwU4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/discord.gg/j7T6dCuwU4", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42962}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2675.0>, params: %{}, path_info: ["https%3A", "discord.gg", "j7T6dCuwU4"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/discord.gg/j7T6dCuwU4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8W1yoH8JNtrkAAARx"} ], 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.2674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/discord.gg/j7T6dCuwU4", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42962}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/discord.gg/j7T6dCuwU4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/discord.gg/j7T6dCuwU4", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42962}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", (truncated) 14:52:39.988 [error] #PID<0.2681.0> running PinchflatWeb.Endpoint (connection #PID<0.2678.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat/wiki ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/wiki (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/wiki", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42998}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2681.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat", "wiki"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat/wiki", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8W11FWHS4TVwAAASh"} ], 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.2678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/wiki", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42998}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/wiki (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/wiki", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 42998}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROc (truncated) 14:52:40.036 [debug] QUERY OK source="settings" db=1.7ms queue=1.8ms idle=25.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.043 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 14:52:40.045 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:40.046 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=37.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.057 [debug] QUERY OK source="settings" db=8.4ms queue=0.8ms idle=35.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:40.065 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:40.066 [info] Sent 200 in 189ms 14:52:40.068 [debug] QUERY OK source="settings" db=8.0ms queue=0.8ms 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 [] 14:52:40.049 [error] #PID<0.2691.0> running PinchflatWeb.Endpoint (connection #PID<0.2688.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/supporters.eff.org/donate ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/supporters.eff.org/donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2688.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/supporters.eff.org/donate", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43036}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2691.0>, params: %{}, path_info: ["https%3A", "supporters.eff.org", "donate"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/supporters.eff.org/donate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8W18iDgMyxSsAAAUB"} ], 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.2688.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/supporters.eff.org/donate", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43036}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/supporters.eff.org/donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2688.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/supporters.eff.org/donate", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43036}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pi (truncated) 14:52:40.070 [debug] QUERY OK source="settings" db=2.4ms queue=1.5ms idle=51.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.066 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:40.067 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:40.072 [debug] QUERY OK source="settings" db=2.3ms queue=2.4ms idle=31.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.078 [debug] QUERY OK source="settings" db=4.0ms queue=2.8ms idle=24.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:40.079 [debug] QUERY OK source="settings" db=3.0ms queue=1.8ms idle=16.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:40.092 [debug] QUERY OK source="settings" db=4.7ms queue=3.3ms idle=12.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.091 [debug] QUERY OK source="settings" db=10.4ms queue=4.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:40.098 [debug] QUERY OK source="settings" db=1.7ms queue=0.8ms idle=17.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:40.094 [debug] QUERY OK source="tasks" db=5.8ms queue=0.9ms idle=14.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:52:40.104 [info] Sent 200 in 101ms 14:52:40.076 [error] #PID<0.2685.0> running PinchflatWeb.Endpoint (connection #PID<0.2684.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2684.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43014}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2685.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat", "issues", "234"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8W16Xl8s1azEAAATh"} ], 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.2684.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43014}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2684.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43014}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinch (truncated) 14:52:40.085 [error] #PID<0.2683.0> running PinchflatWeb.Endpoint (connection #PID<0.2682.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /%23 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%23 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2682.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%23", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43002}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2683.0>, params: %{}, path_info: ["%23"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/%23", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8W15NIgJW3s8AAATR"} ], 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.2682.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%23", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43002}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%23 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2682.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%23", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43002}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537. (truncated) 14:52:40.117 [info] Sent 200 in 145ms 14:52:40.117 [debug] QUERY OK source="media_items" db=1.3ms queue=1.8ms idle=34.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:52:40.074 [error] #PID<0.2690.0> running PinchflatWeb.Endpoint (connection #PID<0.2687.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /favicon.ico%3Fcachebust%3D2024-03-20 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2687.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43030}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2690.0>, params: %{}, path_info: ["favicon"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/favicon.ico%3Fcachebust%3D2024-03-20", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8W18fB51RYPAAAATx"} ], 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.2687.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43030}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2687.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43030}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\" (truncated) 14:52:40.121 [debug] QUERY OK source="media_items" db=2.4ms queue=0.9ms idle=27.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:52:40.125 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=31.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:52:40.128 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=31.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:52:40.131 [info] Sent 200 in 238ms 14:52:43.554 [info] GET /download_logs 14:52:43.555 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 14:52:43.558 [info] Sent 200 in 4ms 14:52:43.753 [info] GET /https%3A/github.com/caronc/apprise/wiki/URLBasics 14:52:43.755 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=134.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.756 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=57.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.757 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:43.758 [error] #PID<0.2699.0> running PinchflatWeb.Endpoint (connection #PID<0.2698.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/caronc/apprise/wiki/URLBasics ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/caronc/apprise/wiki/URLBasics (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2698.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/caronc/apprise/wiki/URLBasics", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43062}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2699.0>, params: %{}, path_info: ["https%3A", "github.com", "caronc", "apprise", "wiki", "URLBasics"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/caronc/apprise/wiki/URLBasics", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8XEH1KrWZV3UAAAoy"} ], 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.2698.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/caronc/apprise/wiki/URLBasics", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43062}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/caronc/apprise/wiki/URLBasics (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2698.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/caronc/apprise/wiki/URLBasics", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43062}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAA (truncated) 14:52:43.782 [info] GET /https%3A/github.com/yt-dlp/yt-dlp%23sorting-formats 14:52:43.784 [debug] QUERY OK source="settings" db=0.5ms idle=74.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:43.785 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=73.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.785 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:43.785 [error] #PID<0.2701.0> running PinchflatWeb.Endpoint (connection #PID<0.2700.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/yt-dlp/yt-dlp%23sorting-formats ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/yt-dlp/yt-dlp%23sorting-formats (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2700.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/yt-dlp/yt-dlp%23sorting-formats", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43070}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2701.0>, params: %{}, path_info: ["https%3A", "github.com", "yt-dlp", "yt-dlp%23sorting-formats"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/yt-dlp/yt-dlp%23sorting-formats", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8XEO0u6OovsMAAAVx"} ], 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.2700.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/yt-dlp/yt-dlp%23sorting-formats", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43070}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/yt-dlp/yt-dlp%23sorting-formats (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2700.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/yt-dlp/yt-dlp%23sorting-formats", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43070}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyN (truncated) 14:52:43.808 [info] GET /media_profiles/1 14:52:43.809 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:52:43.811 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.5ms idle=98.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 14:52:43.814 [debug] QUERY OK source="sources" db=0.9ms queue=0.5ms idle=57.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 14:52:43.815 [debug] QUERY OK source="settings" db=0.3ms idle=58.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.816 [debug] QUERY OK source="settings" db=0.3ms idle=32.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.817 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=32.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.828 [info] Sent 200 in 19ms 14:52:43.847 [info] GET /media_profiles/1/edit 14:52:43.848 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:52:43.849 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=36.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 14:52:43.851 [debug] QUERY OK source="settings" db=0.3ms idle=36.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.851 [debug] QUERY OK source="settings" db=0.2ms idle=35.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.853 [debug] QUERY OK source="settings" db=0.5ms idle=36.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.867 [info] Sent 200 in 20ms 14:52:43.874 [info] GET /media_profiles/new 14:52:43.874 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:52:43.876 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=57.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.878 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=28.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.879 [debug] QUERY OK source="settings" db=0.9ms idle=27.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.881 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=28.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:43.883 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=29.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.888 [info] Sent 200 in 14ms 14:52:43.932 [info] GET /https%3A/github.com/kieraneglin/pinchflat/wiki/Generating-a-YouTube-API-key 14:52:43.934 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=56.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.935 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=56.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.936 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:43.937 [error] #PID<0.2709.0> running PinchflatWeb.Endpoint (connection #PID<0.2708.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat/wiki/Generating-a-YouTube-API-key ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/wiki/Generating-a-YouTube-API-key (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/wiki/Generating-a-YouTube-API-key", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43100}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2709.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat", "wiki", "Generating-a-YouTube-API-key"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat/wiki/Generating-a-YouTube-API-key", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8XEyi2n_2LwsAAAXx"} ], 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.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/wiki/Generating-a-YouTube-API-key", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43100}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/wiki/Generating-a-YouTube-API-key (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/wiki/Generating-a-YouTube-API-key", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43100}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", (truncated) 14:52:43.988 [info] GET /media_profiles/1/%23tab-sources 14:52:43.990 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=109.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.991 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=109.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.991 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:52:43.992 [error] #PID<0.2711.0> running PinchflatWeb.Endpoint (connection #PID<0.2710.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /media_profiles/1/%23tab-sources ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /media_profiles/1/%23tab-sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/media_profiles/1/%23tab-sources", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43116}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.2711.0>, params: %{}, path_info: ["media_profiles", "1", "%23tab-sources"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI"}, {"host", "pinchflat.cmagtv.top"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/media_profiles/1/%23tab-sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV8XE__fSg_1SYAAAYB"} ], 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.2710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/media_profiles/1/%23tab-sources", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43116}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /media_profiles/1/%23tab-sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/media_profiles/1/%23tab-sources", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 43116}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmROcDVYTnFXaTdtUzZKQXFpRHVBYW5D.QcQ_CUb73y3jydRPC9LAsTszRLAH_WQ0C5Iu9lMqZcI", "host" => "pinchflat.cmagtv.top", (truncated) 14:52:59.346 [info] {"source":"oban","duration":12011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.965 [info] {"source":"oban","duration":4812,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:53:29.369 [info] {"source":"oban","duration":11765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:59.391 [info] {"source":"oban","duration":9083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.980 [info] {"source":"oban","duration":3133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:54:29.402 [info] {"source":"oban","duration":2589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:59.417 [info] {"source":"oban","duration":13290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.989 [info] {"source":"oban","duration":4260,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:55:29.434 [info] {"source":"oban","duration":12322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:59.448 [info] {"source":"oban","duration":10652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:01.006 [info] {"source":"oban","duration":3671,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:56:29.458 [info] {"source":"oban","duration":6477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:59.475 [info] {"source":"oban","duration":14345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.014 [info] {"source":"oban","duration":3083,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:57:29.480 [info] {"source":"oban","duration":2815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:59.500 [info] {"source":"oban","duration":9549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.019 [info] {"source":"oban","duration":1249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:58:29.521 [info] {"source":"oban","duration":14163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:59.537 [info] {"source":"oban","duration":12005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.026 [info] {"source":"oban","duration":4625,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:59:29.556 [info] {"source":"oban","duration":15770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:59.569 [info] {"source":"oban","duration":8033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.030 [info] {"source":"oban","duration":2472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:00:29.587 [info] {"source":"oban","duration":13729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:59.613 [info] {"source":"oban","duration":13436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.039 [info] {"source":"oban","duration":5322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:01:29.638 [info] {"source":"oban","duration":15406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:59.663 [info] {"source":"oban","duration":15112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.043 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:02:29.675 [info] {"source":"oban","duration":10153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:59.691 [info] {"source":"oban","duration":8983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.047 [info] {"source":"oban","duration":2488,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:03:29.707 [info] {"source":"oban","duration":11742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:59.727 [info] {"source":"oban","duration":15729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.058 [info] {"source":"oban","duration":6540,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:04:29.732 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:59.754 [info] {"source":"oban","duration":14982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.063 [info] {"source":"oban","duration":1176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:05:29.782 [info] {"source":"oban","duration":15119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:59.798 [info] {"source":"oban","duration":6940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.067 [info] {"source":"oban","duration":2689,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:06:29.817 [info] {"source":"oban","duration":14339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:59.823 [info] {"source":"oban","duration":3949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.075 [info] {"source":"oban","duration":4145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:07:29.840 [info] {"source":"oban","duration":11426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:59.854 [info] {"source":"oban","duration":10583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.080 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:08:09.352 [info] GET / 15:08:09.353 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:08:09.356 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms idle=1141.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:09.358 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=157.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:08:09.359 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=149.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:08:09.360 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=148.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:08:09.361 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=149.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:08:09.363 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:08:09.364 [debug] QUERY OK source="settings" db=0.3ms 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:08:09.366 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:08:09.371 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=9.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:08:09.374 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=12.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:08:09.376 [debug] QUERY OK source="media_items" db=2.4ms idle=10.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:08:09.379 [debug] QUERY OK source="media_items" db=1.2ms idle=14.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:08:09.382 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=13.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:08:09.385 [info] Sent 200 in 33ms 15:08:29.863 [info] {"source":"oban","duration":2742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:59.880 [info] {"source":"oban","duration":11219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.087 [info] {"source":"oban","duration":3762,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:09:29.892 [info] {"source":"oban","duration":7947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:53.855 [info] GET / 15:09:53.859 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:09:53.867 [debug] QUERY OK source="settings" db=3.7ms queue=0.5ms idle=683.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:53.890 [debug] QUERY OK source="media_profiles" db=21.3ms queue=0.3ms idle=649.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:09:53.893 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms idle=658.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:09:53.895 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=660.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:09:53.896 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=661.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:09:53.900 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=32.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:53.901 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:09:53.905 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:09:53.910 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=13.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:09:53.913 [debug] QUERY OK source="media_items" db=0.4ms idle=16.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:09:53.915 [debug] QUERY OK source="media_items" db=1.2ms idle=13.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:09:53.918 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=14.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:09:53.921 [debug] QUERY OK source="media_items" db=2.2ms queue=0.3ms idle=13.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:09:53.925 [info] Sent 200 in 69ms 15:09:59.916 [info] {"source":"oban","duration":11108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.093 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:10:10.028 [info] GET / 15:10:10.030 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:10:10.041 [debug] QUERY OK source="settings" db=4.8ms queue=1.3ms idle=823.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:10.043 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.3ms idle=505.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:10:10.045 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=490.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:10:10.046 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=491.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:10:10.047 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=491.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:10:10.049 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:10:10.050 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:10:10.052 [debug] QUERY OK source="settings" db=0.3ms 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 [] 15:10:10.055 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=7.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:10:10.057 [debug] QUERY OK source="media_items" db=0.4ms idle=8.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:10:10.059 [debug] QUERY OK source="media_items" db=2.0ms idle=8.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:10:10.061 [debug] QUERY OK source="media_items" db=1.0ms idle=10.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:10:10.064 [debug] QUERY OK source="media_items" db=2.2ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:10:10.067 [info] Sent 200 in 39ms 15:10:29.927 [info] {"source":"oban","duration":5224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:59.933 [info] {"source":"oban","duration":4166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.099 [info] {"source":"oban","duration":1095,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:11:29.951 [info] {"source":"oban","duration":12175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:59.972 [info] {"source":"oban","duration":15208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.106 [info] {"source":"oban","duration":1171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:12:29.981 [info] {"source":"oban","duration":6236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:59.997 [info] {"source":"oban","duration":11437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.113 [info] {"source":"oban","duration":4067,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:13:30.013 [info] {"source":"oban","duration":10831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.025 [info] {"source":"oban","duration":9383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.119 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:14:30.056 [info] {"source":"oban","duration":22762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.069 [info] {"source":"oban","duration":4645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.132 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:15:30.089 [info] {"source":"oban","duration":11478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.108 [info] {"source":"oban","duration":11290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.139 [info] {"source":"oban","duration":3500,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:16:30.122 [info] {"source":"oban","duration":6871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.132 [info] {"source":"oban","duration":7864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.144 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:17:30.143 [info] {"source":"oban","duration":7654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.161 [info] {"source":"oban","duration":10078,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:18:00.169 [info] {"source":"oban","duration":20096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:30.188 [info] {"source":"oban","duration":12483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.187 [info] {"source":"oban","duration":5258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:19:00.203 [info] {"source":"oban","duration":11465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:30.217 [info] {"source":"oban","duration":10480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.197 [info] {"source":"oban","duration":3540,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:20:00.230 [info] {"source":"oban","duration":7638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:30.250 [info] {"source":"oban","duration":14421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.206 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:21:00.265 [info] {"source":"oban","duration":5986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:23.024 [info] GET / 15:21:23.027 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:21:23.035 [debug] QUERY OK source="settings" db=2.4ms queue=0.7ms idle=1303.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:23.038 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.4ms idle=307.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:21:23.039 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=292.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:21:23.041 [debug] QUERY OK source="media_items" db=0.8ms queue=0.5ms idle=293.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:23.043 [debug] QUERY OK source="media_items" db=0.5ms queue=0.5ms idle=294.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:23.045 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:23.046 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:23.048 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:23.053 [debug] QUERY OK source="tasks" db=0.8ms idle=10.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:21:23.055 [debug] QUERY OK source="media_items" db=0.4ms idle=12.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:23.057 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=10.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:21:23.060 [debug] QUERY OK source="media_items" db=1.3ms idle=12.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:21:23.064 [debug] QUERY OK source="media_items" db=3.3ms idle=12.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:21:23.067 [info] Sent 200 in 43ms 15:21:23.874 [info] GET / 15:21:23.876 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:21:23.883 [debug] QUERY OK source="settings" db=2.1ms queue=0.6ms idle=816.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:23.886 [debug] QUERY OK source="media_profiles" db=0.2ms queue=1.6ms idle=134.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:21:23.887 [debug] QUERY OK source="sources" db=0.3ms idle=119.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:21:23.888 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=119.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:23.891 [debug] QUERY OK source="media_items" db=2.7ms idle=120.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:23.892 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 15:21:23.893 [debug] QUERY OK source="settings" db=0.7ms 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 [] 15:21:23.895 [debug] QUERY OK source="settings" db=1.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 [] 15:21:23.900 [debug] QUERY OK source="tasks" db=1.3ms idle=10.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:21:23.902 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=9.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:23.905 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=10.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:21:23.909 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=14.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:21:23.912 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=14.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:21:23.915 [info] Sent 200 in 41ms 15:21:26.920 [info] GET / 15:21:26.921 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:21:26.926 [debug] QUERY OK source="settings" db=1.2ms queue=0.5ms idle=1112.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:26.930 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.3ms idle=110.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:21:26.934 [debug] QUERY OK source="sources" db=1.9ms queue=0.4ms idle=94.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:21:26.937 [debug] QUERY OK source="media_items" db=1.8ms queue=0.2ms idle=97.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:26.938 [debug] QUERY OK source="media_items" db=0.5ms idle=99.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:26.940 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:26.941 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:26.942 [debug] QUERY OK source="settings" db=0.6ms 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 [] 15:21:26.946 [debug] QUERY OK source="tasks" db=0.7ms idle=8.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:21:26.948 [debug] QUERY OK source="media_items" db=0.3ms idle=9.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:26.949 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=8.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:21:26.953 [debug] QUERY OK source="media_items" db=1.9ms idle=10.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:21:26.957 [debug] QUERY OK source="media_items" db=2.4ms queue=0.3ms idle=11.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:21:26.959 [info] Sent 200 in 39ms 15:21:30.272 [info] {"source":"oban","duration":4787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.212 [info] {"source":"oban","duration":2145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:22:00.285 [info] {"source":"oban","duration":8008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:30.322 [info] {"source":"oban","duration":27457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.222 [info] {"source":"oban","duration":4534,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:23:00.343 [info] {"source":"oban","duration":18824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:30.359 [info] {"source":"oban","duration":4688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.231 [info] {"source":"oban","duration":4013,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:24:00.378 [info] {"source":"oban","duration":15043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:30.397 [info] {"source":"oban","duration":10509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.240 [info] {"source":"oban","duration":1960,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:25:00.408 [info] {"source":"oban","duration":6736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:30.429 [info] {"source":"oban","duration":12237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.248 [info] {"source":"oban","duration":3165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:26:00.447 [info] {"source":"oban","duration":15281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:30.467 [info] {"source":"oban","duration":12074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.252 [info] {"source":"oban","duration":1089,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:27:00.472 [info] {"source":"oban","duration":2537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:30.487 [info] {"source":"oban","duration":5249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.263 [info] {"source":"oban","duration":4222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:28:00.510 [info] {"source":"oban","duration":15812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:30.526 [info] {"source":"oban","duration":12467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.275 [info] {"source":"oban","duration":2770,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:29:00.546 [info] {"source":"oban","duration":11702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:30.563 [info] {"source":"oban","duration":11481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.285 [info] {"source":"oban","duration":2146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:30:00.576 [info] {"source":"oban","duration":5320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:30.591 [info] {"source":"oban","duration":5020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.293 [info] {"source":"oban","duration":4121,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:31:00.612 [info] {"source":"oban","duration":15287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:30.632 [info] {"source":"oban","duration":12562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.304 [info] {"source":"oban","duration":3229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:32:00.654 [info] {"source":"oban","duration":12519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:30.677 [info] {"source":"oban","duration":15142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.308 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:33:00.692 [info] {"source":"oban","duration":6143,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:30.699 [info] {"source":"oban","duration":5305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.324 [info] {"source":"oban","duration":3568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:34:00.716 [info] {"source":"oban","duration":14417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:30.729 [info] {"source":"oban","duration":10231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.333 [info] {"source":"oban","duration":2794,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:35:00.743 [info] {"source":"oban","duration":9578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:30.767 [info] {"source":"oban","duration":12645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.344 [info] {"source":"oban","duration":2043,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:36:00.799 [info] {"source":"oban","duration":18363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:30.824 [info] {"source":"oban","duration":13853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.354 [info] {"source":"oban","duration":4394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:37:00.840 [info] {"source":"oban","duration":8291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:30.857 [info] {"source":"oban","duration":11894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.367 [info] {"source":"oban","duration":3701,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:38:00.876 [info] {"source":"oban","duration":13345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:23.402 [info] GET / 15:38:23.404 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:38:23.407 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=207.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:38:23.410 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.2ms idle=43.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:38:23.411 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=17.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:38:23.412 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=17.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:38:23.413 [debug] QUERY OK source="media_items" db=0.3ms idle=18.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:38:23.416 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:23.417 [debug] QUERY OK source="settings" db=0.6ms 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:38:23.420 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:23.432 [debug] QUERY OK source="tasks" db=1.7ms queue=0.1ms idle=18.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:38:23.439 [debug] QUERY OK source="media_items" db=0.4ms idle=25.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:38:23.442 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=24.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:38:23.446 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=26.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:38:23.449 [debug] QUERY OK source="media_items" db=2.2ms queue=0.6ms idle=25.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:38:23.452 [info] Sent 200 in 50ms 15:38:30.905 [info] {"source":"oban","duration":18805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.379 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:39:00.910 [info] {"source":"oban","duration":3013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:30.922 [info] {"source":"oban","duration":7802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.394 [info] {"source":"oban","duration":3104,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:40:00.942 [info] {"source":"oban","duration":15476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:30.956 [info] {"source":"oban","duration":11503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.401 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:41:00.961 [info] {"source":"oban","duration":3951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:30.980 [info] {"source":"oban","duration":12917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.413 [info] {"source":"oban","duration":2380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:42:00.997 [info] {"source":"oban","duration":11582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:31.012 [info] {"source":"oban","duration":11823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.422 [info] {"source":"oban","duration":4132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:43:01.037 [info] {"source":"oban","duration":18863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:31.067 [info] {"source":"oban","duration":19041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.434 [info] {"source":"oban","duration":4537,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:44:01.084 [info] {"source":"oban","duration":11317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:31.103 [info] {"source":"oban","duration":9566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.440 [info] {"source":"oban","duration":3940,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:45:01.122 [info] {"source":"oban","duration":6946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:31.139 [info] {"source":"oban","duration":12836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.452 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:46:01.157 [info] {"source":"oban","duration":12332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:31.173 [info] {"source":"oban","duration":11053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.462 [info] {"source":"oban","duration":3953,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:47:01.191 [info] {"source":"oban","duration":13807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:12.746 [info] GET / 15:47:12.747 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:47:12.750 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=1217.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:47:12.752 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=221.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:47:12.754 [debug] QUERY OK source="sources" db=0.6ms queue=0.7ms idle=210.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:47:12.755 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=211.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:47:12.756 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=212.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:47:12.758 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 15:47:12.759 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:47:12.761 [debug] QUERY OK source="settings" db=0.6ms queue=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 [] 15:47:12.765 [debug] QUERY OK source="tasks" db=1.0ms idle=9.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:47:12.769 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=12.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:47:12.771 [debug] QUERY OK source="media_items" db=1.4ms idle=11.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:47:12.775 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=15.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:47:12.777 [debug] QUERY OK source="media_items" db=1.8ms idle=14.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:47:12.780 [info] Sent 200 in 34ms 15:47:31.202 [info] {"source":"oban","duration":5783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.471 [info] {"source":"oban","duration":4934,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:48:01.211 [info] {"source":"oban","duration":7051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:31.220 [info] {"source":"oban","duration":3041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.483 [info] {"source":"oban","duration":3738,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:49:01.241 [info] {"source":"oban","duration":18543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:31.256 [info] {"source":"oban","duration":12078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.498 [info] {"source":"oban","duration":3859,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:50:01.272 [info] {"source":"oban","duration":8918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:31.283 [info] {"source":"oban","duration":8412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.512 [info] {"source":"oban","duration":5036,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:51:01.297 [info] {"source":"oban","duration":10550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:31.319 [info] {"source":"oban","duration":11301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:53.713 [info] GET / 15:51:53.715 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:51:53.722 [debug] QUERY OK source="settings" db=3.2ms queue=0.3ms idle=1167.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:53.725 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.4ms idle=598.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:51:53.730 [debug] QUERY OK source="sources" db=3.8ms queue=0.1ms idle=580.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:51:53.733 [debug] QUERY OK source="media_items" db=1.7ms queue=0.7ms idle=584.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:51:53.735 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=586.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:51:53.737 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:53.738 [debug] QUERY OK source="settings" db=0.9ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:53.740 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 15:51:53.746 [debug] QUERY OK source="tasks" db=1.7ms idle=11.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:51:53.749 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=13.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:51:53.751 [debug] QUERY OK source="media_items" db=1.1ms idle=12.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:51:53.754 [debug] QUERY OK source="media_items" db=2.4ms idle=13.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:51:53.757 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=14.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:51:53.760 [info] Sent 200 in 47ms 15:52:00.519 [info] {"source":"oban","duration":2920,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:52:01.334 [info] {"source":"oban","duration":12946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:31.351 [info] {"source":"oban","duration":13447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.522 [info] {"source":"oban","duration":1295,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:53:01.370 [info] {"source":"oban","duration":12055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:31.385 [info] {"source":"oban","duration":8323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.535 [info] {"source":"oban","duration":5369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:54:01.399 [info] {"source":"oban","duration":5686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:31.415 [info] {"source":"oban","duration":9505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.543 [info] {"source":"oban","duration":2355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:55:01.436 [info] {"source":"oban","duration":13806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:31.452 [info] {"source":"oban","duration":13275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:37.106 [info] GET / 15:55:37.108 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:55:37.118 [debug] QUERY OK source="settings" db=2.9ms queue=0.6ms idle=1520.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:37.122 [debug] QUERY OK source="media_profiles" db=2.0ms queue=0.4ms idle=530.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:55:37.124 [debug] QUERY OK source="sources" db=0.8ms queue=0.3ms idle=506.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:55:37.127 [debug] QUERY OK source="media_items" db=0.8ms queue=0.4ms idle=507.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:55:37.128 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=509.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:55:37.131 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:37.132 [debug] QUERY OK source="settings" db=0.7ms 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 [] 15:55:37.134 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:37.139 [debug] QUERY OK source="tasks" db=1.3ms idle=10.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:55:37.141 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=13.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:55:37.143 [debug] QUERY OK source="media_items" db=1.1ms idle=11.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:55:37.146 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=12.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:55:37.149 [debug] QUERY OK source="media_items" db=2.5ms idle=12.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:55:37.151 [info] Sent 200 in 45ms 15:55:38.078 [info] GET /static/style/protect/index.js 15:55:38.084 [debug] QUERY OK source="settings" db=2.0ms queue=0.2ms 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 [] 15:55:38.086 [debug] QUERY OK source="settings" db=1.1ms queue=0.3ms idle=482.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:38.087 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:38.089 [error] #PID<0.3018.0> running PinchflatWeb.Endpoint (connection #PID<0.3017.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /static/style/protect/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3017.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53542}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3018.0>, params: %{}, path_info: ["static", "style", "protect", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/static/style/protect/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV_ywlC7M8kSWIAAA5C"} ], 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.3017.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53542}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3017.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53542}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3018.0>, params: %{}, path_info: ["static", "style", "protect", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", (truncated) 15:55:38.397 [info] GET /assets/js/auth.js 15:55:38.399 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=772.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:38.401 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=770.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:38.401 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:38.403 [error] #PID<0.3020.0> running PinchflatWeb.Endpoint (connection #PID<0.3019.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /assets/js/auth.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3019.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53544}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3020.0>, params: %{}, path_info: ["assets", "js", "auth"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/assets/js/auth.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV_yxxI_d6Z3tQAAA6h"} ], 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.3019.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53544}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3019.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53544}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3020.0>, params: %{}, path_info: ["assets", "js", "auth"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_l (truncated) 15:55:41.124 [info] GET /css/support_parent.css 15:55:41.127 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=849.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:41.129 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=448.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:41.129 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:41.131 [error] #PID<0.3024.0> running PinchflatWeb.Endpoint (connection #PID<0.3023.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /css/support_parent.css ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3023.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56598}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3024.0>, params: %{}, path_info: ["css", "support_parent"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/css/support_parent.css", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV_y77Xd7EdQxwAAA6x"} ], 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.3023.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56598}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3023.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56598}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3024.0>, params: %{}, path_info: ["css", "support_parent"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logg (truncated) 15:55:42.339 [info] GET /assets/js/message.js 15:55:42.342 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=654.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:42.343 [debug] QUERY OK source="settings" db=0.7ms idle=647.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:42.343 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:42.344 [error] #PID<0.3028.0> running PinchflatWeb.Endpoint (connection #PID<0.3027.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /assets/js/message.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3027.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56610}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3028.0>, params: %{}, path_info: ["assets", "js", "message"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/assets/js/message.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV_zAc9-HdCEckAAA7B"} ], 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.3027.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56610}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3027.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56610}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3028.0>, params: %{}, path_info: ["assets", "js", "message"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {" (truncated) 15:55:42.654 [info] GET /bot-connect.js 15:55:42.662 [debug] QUERY OK source="settings" db=3.6ms queue=0.4ms idle=961.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:42.667 [debug] QUERY OK source="settings" db=2.7ms queue=0.5ms idle=967.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:42.668 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:42.670 [error] #PID<0.3030.0> running PinchflatWeb.Endpoint (connection #PID<0.3029.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /bot-connect.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3029.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56626}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3030.0>, params: %{}, path_info: ["bot-connect"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/bot-connect.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV_zBn79_k3NEIAAA5S"} ], 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.3029.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56626}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3029.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56626}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3030.0>, params: %{}, path_info: ["bot-connect"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_pa (truncated) 15:55:42.986 [info] GET /js/lkk_ch.js 15:55:42.996 [debug] QUERY OK source="settings" db=4.4ms queue=0.4ms idle=323.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:43.000 [debug] QUERY OK source="settings" db=2.3ms queue=0.3ms idle=304.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:43.002 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:43.003 [error] #PID<0.3032.0> running PinchflatWeb.Endpoint (connection #PID<0.3031.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /js/lkk_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3031.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56630}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3032.0>, params: %{}, path_info: ["js", "lkk_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/js/lkk_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV_zC3Rz8UusY4AAA5i"} ], 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.3031.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56630}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3031.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56630}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3032.0>, params: %{}, path_info: ["js", "lkk_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 15:55:43.620 [info] GET /assets/js/qr_modal.js 15:55:43.622 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=918.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:43.625 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=919.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:43.625 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:43.626 [error] #PID<0.3036.0> running PinchflatWeb.Endpoint (connection #PID<0.3035.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /assets/js/qr_modal.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/qr_modal (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3035.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56654}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3036.0>, params: %{}, path_info: ["assets", "js", "qr_modal"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/assets/js/qr_modal.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV_zFObZlLsP5QAAA7R"} ], 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.3035.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56654}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/qr_modal (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3035.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56654}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3036.0>, params: %{}, path_info: ["assets", "js", "qr_modal"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_log (truncated) 15:55:43.935 [info] GET /static/style/sys_files/index.js 15:55:43.942 [debug] QUERY OK source="settings" db=2.7ms queue=1.1ms idle=313.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:43.948 [debug] QUERY OK source="settings" db=1.9ms queue=0.6ms idle=246.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:43.948 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:43.949 [error] #PID<0.3038.0> running PinchflatWeb.Endpoint (connection #PID<0.3037.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /static/style/sys_files/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3037.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56658}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3038.0>, params: %{}, path_info: ["static", "style", "sys_files", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/static/style/sys_files/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV_zGZZzSwAtVQAAA7h"} ], 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.3037.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56658}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3037.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56658}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3038.0>, params: %{}, path_info: ["static", "style", "sys_files", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.c (truncated) 15:55:45.225 [info] GET /js/twint_ch.js 15:55:45.234 [debug] QUERY OK source="settings" db=3.3ms queue=0.5ms idle=1281.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:45.237 [debug] QUERY OK source="settings" db=1.3ms queue=0.3ms idle=510.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:45.239 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:45.242 [error] #PID<0.3046.0> running PinchflatWeb.Endpoint (connection #PID<0.3045.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /js/twint_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3045.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56678}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3046.0>, params: %{}, path_info: ["js", "twint_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/js/twint_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKV_zLM9Uybw-CwAAA5y"} ], 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.3045.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56678}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3045.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56678}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3046.0>, params: %{}, path_info: ["js", "twint_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, qu (truncated) 15:56:00.564 [info] {"source":"oban","duration":7585,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:56:01.471 [info] {"source":"oban","duration":14754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:31.486 [info] {"source":"oban","duration":11588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.579 [info] {"source":"oban","duration":2005,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:57:01.501 [info] {"source":"oban","duration":6286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:31.523 [info] {"source":"oban","duration":11074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.591 [info] {"source":"oban","duration":5518,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:58:01.537 [info] {"source":"oban","duration":10596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:31.565 [info] {"source":"oban","duration":14589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.601 [info] {"source":"oban","duration":4636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:59:01.588 [info] {"source":"oban","duration":11988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:31.610 [info] {"source":"oban","duration":10387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.609 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:00:01.620 [info] {"source":"oban","duration":6774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:31.629 [info] {"source":"oban","duration":2865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.616 [info] {"source":"oban","duration":2599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:01:01.644 [info] {"source":"oban","duration":11564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:31.651 [info] {"source":"oban","duration":4550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.631 [info] {"source":"oban","duration":3477,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:02:01.671 [info] {"source":"oban","duration":16932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:31.694 [info] {"source":"oban","duration":16523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.640 [info] {"source":"oban","duration":1776,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:03:01.700 [info] {"source":"oban","duration":2941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:31.715 [info] {"source":"oban","duration":11863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.644 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:04:01.731 [info] {"source":"oban","duration":8021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:31.750 [info] {"source":"oban","duration":13345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.657 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:05:01.776 [info] {"source":"oban","duration":14853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:31.796 [info] {"source":"oban","duration":13227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.662 [info] {"source":"oban","duration":1796,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:06:01.808 [info] {"source":"oban","duration":9616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:05.370 [info] GET / 16:06:05.370 [info] GET / 16:06:05.372 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:06:05.372 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:06:05.379 [debug] QUERY OK source="settings" db=3.8ms queue=0.6ms idle=498.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:06:05.379 [debug] QUERY OK source="settings" db=3.4ms queue=0.6ms idle=517.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:06:05.384 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.2ms idle=503.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:06:05.384 [debug] QUERY OK source="media_profiles" db=3.2ms queue=0.6ms idle=502.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:06:05.386 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=6.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:06:05.387 [debug] QUERY OK source="sources" db=2.3ms queue=0.2ms idle=355.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:06:05.388 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=3.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:06:05.388 [debug] QUERY OK source="media_items" db=1.9ms idle=7.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:06:05.390 [debug] QUERY OK source="media_items" db=1.3ms queue=0.2ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:06:05.390 [debug] QUERY OK source="media_items" db=1.4ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:06:05.393 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:06:05.394 [debug] QUERY OK source="settings" db=2.0ms queue=0.4ms 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 [] 16:06:05.395 [debug] QUERY OK source="settings" db=1.0ms queue=0.5ms 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 [] 16:06:05.395 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms 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 [] 16:06:05.398 [debug] QUERY OK source="settings" db=1.8ms 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 [] 16:06:05.399 [debug] QUERY OK source="settings" db=1.3ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:06:05.406 [debug] QUERY OK source="tasks" db=0.9ms queue=1.2ms idle=9.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:06:05.408 [debug] QUERY OK source="tasks" db=3.6ms idle=10.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:06:05.410 [debug] QUERY OK source="media_items" db=1.5ms idle=12.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:06:05.410 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=10.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:06:05.414 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=4.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:06:05.414 [debug] QUERY OK source="media_items" db=3.0ms queue=0.5ms idle=11.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:06:05.418 [debug] QUERY OK source="media_items" db=2.2ms idle=8.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:06:05.420 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=7.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:06:05.423 [debug] QUERY OK source="media_items" db=3.9ms idle=8.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:06:05.423 [debug] QUERY OK source="media_items" db=2.6ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:06:05.425 [info] Sent 200 in 55ms 16:06:05.428 [info] Sent 200 in 58ms 16:06:31.823 [info] {"source":"oban","duration":8802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.674 [info] {"source":"oban","duration":5824,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:07:01.862 [info] {"source":"oban","duration":24458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:31.873 [info] {"source":"oban","duration":9256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.681 [info] {"source":"oban","duration":969,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:08:01.877 [info] {"source":"oban","duration":2586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:21.383 [info] GET / 16:08:21.384 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:08:21.386 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1027.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:21.387 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=40.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:08:21.388 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=29.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:08:21.390 [debug] QUERY OK source="media_items" db=0.8ms queue=0.6ms idle=29.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:21.391 [debug] QUERY OK source="media_items" db=0.3ms idle=31.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:21.393 [debug] QUERY OK source="settings" db=0.7ms 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 [] 16:08:21.394 [debug] QUERY OK source="settings" db=0.5ms 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 [] 16:08:21.397 [debug] QUERY OK source="settings" db=0.4ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:21.403 [debug] QUERY OK source="tasks" db=2.1ms queue=0.1ms idle=10.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:08:21.410 [debug] QUERY OK source="media_items" db=1.3ms decode=0.2ms queue=0.1ms idle=17.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:21.415 [debug] QUERY OK source="media_items" db=3.7ms queue=0.2ms idle=17.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:08:21.418 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=22.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:08:21.421 [debug] QUERY OK source="media_items" db=2.4ms idle=22.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:08:21.425 [info] Sent 200 in 42ms 16:08:23.298 [info] GET / 16:08:23.299 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:08:23.305 [debug] QUERY OK source="settings" db=1.1ms queue=0.7ms idle=1881.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:23.307 [debug] QUERY OK source="media_profiles" db=0.5ms queue=1.2ms idle=951.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:08:23.308 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=938.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:08:23.309 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=937.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:23.353 [debug] QUERY OK source="media_items" db=42.7ms idle=936.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:23.355 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=49.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:23.356 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=47.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:23.361 [debug] QUERY OK source="settings" db=2.1ms idle=49.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:23.367 [debug] QUERY OK source="tasks" db=2.5ms queue=0.1ms idle=12.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:08:23.370 [debug] QUERY OK source="media_items" db=0.5ms idle=14.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:23.374 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=14.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:08:23.379 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:08:23.386 [debug] QUERY OK source="media_items" db=6.0ms queue=0.3ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:08:23.389 [info] Sent 200 in 91ms 16:08:25.330 [info] CONNECTED TO Phoenix.LiveView.Socket in 6ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CjRFNTkQcQgNewACFyUCbiojM3V9Bjow_X1TxrIABJTsBnk8DkAX9Ro_", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:25.672 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "UltaAb8IO1TqUKiVnHr-DTUo", "media_state" => "downloaded"} 16:08:25.674 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=1252.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:25.676 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=267.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:08:25.676 [debug] Replied in 4ms 16:08:25.690 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "UltaAb8IO1TqUKiVnHr-DTUo", "media_state" => "pending"} 16:08:25.693 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=272.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:08:25.696 [debug] QUERY OK source="media_items" db=1.8ms idle=274.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:08:25.696 [debug] Replied in 5ms 16:08:25.698 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "UltaAb8IO1TqUKiVnHr-DTUo"} 16:08:25.700 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=278.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:08:25.700 [debug] Replied in 2ms 16:08:26.056 [info] GET / 16:08:26.057 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:08:26.068 [debug] QUERY OK source="settings" db=2.2ms queue=1.1ms idle=390.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:26.074 [debug] QUERY OK source="media_profiles" db=3.4ms queue=0.6ms idle=393.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:08:26.077 [debug] QUERY OK source="sources" db=1.2ms queue=0.4ms idle=381.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:08:26.081 [debug] QUERY OK source="media_items" db=1.9ms queue=0.7ms idle=382.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:26.083 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=381.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:26.085 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=16.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:26.086 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=11.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:26.088 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 16:08:26.091 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=9.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:08:26.093 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=9.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:08:26.095 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=8.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:08:26.097 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=9.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:08:26.102 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=9.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:08:26.106 [info] Sent 200 in 50ms 16:08:31.887 [info] {"source":"oban","duration":4775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.692 [info] {"source":"oban","duration":6232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:09:01.904 [info] {"source":"oban","duration":13807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:31.917 [info] {"source":"oban","duration":9996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:59.035 [info] GET / 16:09:59.037 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:09:59.045 [debug] QUERY OK source="settings" db=2.2ms queue=0.4ms idle=1399.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:09:59.050 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=712.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:09:59.051 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=701.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:09:59.053 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=701.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:09:59.054 [debug] QUERY OK source="media_items" db=0.5ms idle=703.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:09:59.059 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=13.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:09:59.059 [debug] QUERY OK source="settings" db=0.3ms 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 [] 16:09:59.061 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:09:59.066 [debug] QUERY OK source="tasks" db=0.9ms idle=12.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:09:59.069 [debug] QUERY OK source="media_items" db=0.5ms idle=14.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:09:59.071 [debug] QUERY OK source="media_items" db=1.3ms idle=10.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:09:59.073 [debug] QUERY OK source="media_items" db=1.2ms idle=12.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:09:59.076 [debug] QUERY OK source="media_items" db=2.2ms idle=12.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:09:59.079 [info] Sent 200 in 44ms 16:10:00.701 [info] {"source":"oban","duration":3046,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:10:01.922 [info] {"source":"oban","duration":3135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:31.949 [info] {"source":"oban","duration":18152,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.719 [info] {"source":"oban","duration":3581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:11:01.958 [info] {"source":"oban","duration":5223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:31.976 [info] {"source":"oban","duration":12470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.728 [info] {"source":"oban","duration":3283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:12:01.996 [info] {"source":"oban","duration":12717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:32.006 [info] {"source":"oban","duration":7446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:54.043 [info] GET / 16:12:54.045 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:12:54.048 [debug] QUERY OK source="settings" db=1.1ms queue=0.3ms idle=946.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:54.050 [debug] QUERY OK source="media_profiles" db=0.9ms idle=257.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:12:54.052 [debug] QUERY OK source="sources" db=1.3ms idle=247.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:12:54.054 [debug] QUERY OK source="media_items" db=1.4ms idle=248.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:12:54.055 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=250.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:12:54.058 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:54.059 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:54.062 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 16:12:54.067 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=12.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:12:54.070 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=14.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:12:54.073 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=12.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:12:54.076 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=14.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:12:54.078 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=14.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:12:54.082 [info] Sent 200 in 39ms 16:13:00.739 [info] {"source":"oban","duration":3896,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:13:02.015 [info] {"source":"oban","duration":6087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:32.023 [info] {"source":"oban","duration":2737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.742 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:14:02.037 [info] {"source":"oban","duration":9974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:32.047 [info] {"source":"oban","duration":7629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.752 [info] {"source":"oban","duration":3366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:15:02.063 [info] {"source":"oban","duration":11640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:32.069 [info] {"source":"oban","duration":5034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.760 [info] {"source":"oban","duration":2354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:16:02.078 [info] {"source":"oban","duration":6250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:32.093 [info] {"source":"oban","duration":8879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.769 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:17:02.104 [info] {"source":"oban","duration":7941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:32.117 [info] {"source":"oban","duration":9368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.786 [info] {"source":"oban","duration":7507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:18:02.135 [info] {"source":"oban","duration":12264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:32.144 [info] {"source":"oban","duration":3087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.795 [info] {"source":"oban","duration":2953,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:19:02.149 [info] {"source":"oban","duration":4019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:32.154 [info] {"source":"oban","duration":2554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.808 [info] {"source":"oban","duration":5670,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:20:02.171 [info] {"source":"oban","duration":14164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:32.193 [info] {"source":"oban","duration":17255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.815 [info] {"source":"oban","duration":2210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:21:02.211 [info] {"source":"oban","duration":13312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:32.225 [info] {"source":"oban","duration":11399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.819 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:22:02.230 [info] {"source":"oban","duration":4165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:32.236 [info] {"source":"oban","duration":4812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.832 [info] {"source":"oban","duration":3110,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:23:02.252 [info] {"source":"oban","duration":13930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:32.263 [info] {"source":"oban","duration":9088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.841 [info] {"source":"oban","duration":2347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:24:02.278 [info] {"source":"oban","duration":11023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:32.295 [info] {"source":"oban","duration":13570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.850 [info] {"source":"oban","duration":2170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:25:02.306 [info] {"source":"oban","duration":5726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:32.315 [info] {"source":"oban","duration":6821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.858 [info] {"source":"oban","duration":3337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:26:02.329 [info] {"source":"oban","duration":10278,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:32.340 [info] {"source":"oban","duration":7921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.881 [info] {"source":"oban","duration":9357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:27:02.351 [info] {"source":"oban","duration":8324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:32.359 [info] {"source":"oban","duration":6425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.886 [info] {"source":"oban","duration":1044,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:28:02.372 [info] {"source":"oban","duration":5991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:32.383 [info] {"source":"oban","duration":5137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.895 [info] {"source":"oban","duration":5179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:29:02.392 [info] {"source":"oban","duration":5748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:32.413 [info] {"source":"oban","duration":18143,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.900 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:30:02.439 [info] {"source":"oban","duration":22968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:32.446 [info] {"source":"oban","duration":4726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.906 [info] {"source":"oban","duration":2062,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:31:02.452 [info] {"source":"oban","duration":3497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:32.458 [info] {"source":"oban","duration":3941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.914 [info] {"source":"oban","duration":3102,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:32:02.464 [info] {"source":"oban","duration":2396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:32.475 [info] {"source":"oban","duration":9208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.925 [info] {"source":"oban","duration":3429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:33:02.491 [info] {"source":"oban","duration":12765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:32.514 [info] {"source":"oban","duration":14012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.935 [info] {"source":"oban","duration":3392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:34:02.532 [info] {"source":"oban","duration":10374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:32.538 [info] {"source":"oban","duration":3245,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.942 [info] {"source":"oban","duration":1798,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:35:02.553 [info] {"source":"oban","duration":12123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:32.570 [info] {"source":"oban","duration":13705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.956 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:36:02.585 [info] {"source":"oban","duration":10582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:32.595 [info] {"source":"oban","duration":6011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.968 [info] {"source":"oban","duration":4037,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:37:02.609 [info] {"source":"oban","duration":10966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:32.634 [info] {"source":"oban","duration":14485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.978 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:38:02.648 [info] {"source":"oban","duration":11701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:32.659 [info] {"source":"oban","duration":8089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.992 [info] {"source":"oban","duration":2499,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:39:02.683 [info] {"source":"oban","duration":15406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:32.693 [info] {"source":"oban","duration":1975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:01.006 [info] {"source":"oban","duration":1657,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:40:02.708 [info] {"source":"oban","duration":12007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:32.720 [info] {"source":"oban","duration":8705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.016 [info] {"source":"oban","duration":4242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:41:02.737 [info] {"source":"oban","duration":13329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:32.762 [info] {"source":"oban","duration":11879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.028 [info] {"source":"oban","duration":8719,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:42:02.783 [info] {"source":"oban","duration":10046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:32.802 [info] {"source":"oban","duration":15320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.035 [info] {"source":"oban","duration":3096,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:43:02.825 [info] {"source":"oban","duration":11390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:24.572 [info] GET / 16:43:24.574 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:43:24.582 [debug] QUERY OK source="settings" db=2.7ms queue=0.6ms idle=877.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:24.584 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=620.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:43:24.585 [debug] QUERY OK source="sources" db=0.4ms idle=613.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:43:24.586 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=612.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:43:24.587 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=613.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:43:24.589 [debug] QUERY OK source="settings" db=0.5ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:24.590 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:24.593 [debug] QUERY OK source="settings" db=1.8ms 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 [] 16:43:24.598 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=10.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:43:24.602 [debug] QUERY OK source="media_items" db=0.5ms idle=14.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:43:24.604 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=13.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:43:24.608 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=15.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:43:24.611 [debug] QUERY OK source="media_items" db=2.8ms idle=14.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:43:24.615 [info] Sent 200 in 43ms 16:43:25.883 [info] CONNECTED TO Phoenix.LiveView.Socket in 708µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CygHRTsrOgAUGGFeDhIGUwkCLgsTCwE-3Af1vcRdzLS-Qq78kFZzwBhj", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:26.038 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8iatMHhdnT2s_c1kbDtqdIiT", "media_state" => "downloaded"} 16:43:26.043 [debug] QUERY OK source="media_items" db=2.4ms queue=0.6ms idle=334.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:43:26.050 [debug] QUERY OK source="media_items" db=5.1ms queue=0.4ms idle=22.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:43:26.050 [debug] Replied in 12ms 16:43:26.058 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8iatMHhdnT2s_c1kbDtqdIiT", "media_state" => "pending"} 16:43:26.061 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=16.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:43:26.065 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=14.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:43:26.065 [debug] Replied in 7ms 16:43:26.068 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8iatMHhdnT2s_c1kbDtqdIiT"} 16:43:26.070 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=20.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:43:26.071 [debug] Replied in 2ms 16:43:32.848 [info] {"source":"oban","duration":19372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:33.193 [info] GET / 16:43:33.194 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:43:33.197 [debug] QUERY OK source="settings" db=1.5ms queue=0.5ms idle=348.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:33.200 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.2ms idle=17.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:43:33.201 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=2.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:43:33.203 [debug] QUERY OK source="media_items" db=0.9ms idle=2.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:43:33.204 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:43:33.206 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms 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 [] 16:43:33.207 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:33.208 [debug] QUERY OK source="settings" db=0.4ms 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 [] 16:43:33.212 [debug] QUERY OK source="tasks" db=0.7ms idle=8.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:43:33.214 [debug] QUERY OK source="media_items" db=0.7ms idle=8.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:43:33.215 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=8.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:43:33.218 [debug] QUERY OK source="media_items" db=1.2ms idle=9.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:43:33.222 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=9.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:43:33.224 [info] Sent 200 in 30ms 16:43:34.576 [info] CONNECTED TO Phoenix.LiveView.Socket in 195µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ETASGgpUBBkJZD0iEXpCFSEoIREjI0MtEwao_lQ4V6zzkMpPRIbhPi1N", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:34.726 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "TGsuU8U-_RGXz72EsaCysJrc", "media_state" => "downloaded"} 16:43:34.732 [debug] QUERY OK source="media_items" db=3.8ms queue=0.2ms idle=522.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:43:34.738 [debug] QUERY OK source="media_items" db=4.4ms queue=0.2ms idle=514.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:43:34.739 [debug] Replied in 13ms 16:43:34.741 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "TGsuU8U-_RGXz72EsaCysJrc", "media_state" => "pending"} 16:43:34.744 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=520.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:43:34.747 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=523.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:43:34.747 [debug] Replied in 6ms 16:43:34.749 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "TGsuU8U-_RGXz72EsaCysJrc"} 16:43:34.751 [debug] QUERY OK source="tasks" db=0.7ms idle=30.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:43:34.751 [debug] Replied in 2ms 16:44:00.040 [info] {"source":"oban","duration":1272,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:44:02.871 [info] {"source":"oban","duration":11885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:32.892 [info] {"source":"oban","duration":16403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.046 [info] {"source":"oban","duration":4568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:45:02.896 [info] {"source":"oban","duration":1815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:32.903 [info] {"source":"oban","duration":4628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.055 [info] {"source":"oban","duration":3161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:46:02.923 [info] {"source":"oban","duration":13862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:32.942 [info] {"source":"oban","duration":14784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.062 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:47:02.961 [info] {"source":"oban","duration":11031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:32.980 [info] {"source":"oban","duration":10453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.065 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:48:02.994 [info] {"source":"oban","duration":10062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:33.010 [info] {"source":"oban","duration":10784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.072 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:49:03.022 [info] {"source":"oban","duration":9233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:33.039 [info] {"source":"oban","duration":8844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.076 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:50:03.062 [info] {"source":"oban","duration":11263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:33.082 [info] {"source":"oban","duration":14831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.080 [info] {"source":"oban","duration":1212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:51:03.100 [info] {"source":"oban","duration":5880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:33.119 [info] {"source":"oban","duration":14382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.084 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:52:03.139 [info] {"source":"oban","duration":10471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:33.155 [info] {"source":"oban","duration":11199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.088 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:53:03.183 [info] {"source":"oban","duration":14748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:33.197 [info] {"source":"oban","duration":11458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.092 [info] {"source":"oban","duration":1082,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:54:03.207 [info] {"source":"oban","duration":6284,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:33.215 [info] {"source":"oban","duration":4842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.096 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:55:03.229 [info] {"source":"oban","duration":10147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:33.246 [info] {"source":"oban","duration":13405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.101 [info] {"source":"oban","duration":2765,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:56:03.261 [info] {"source":"oban","duration":3223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:33.281 [info] {"source":"oban","duration":10466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.106 [info] {"source":"oban","duration":2222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:57:03.298 [info] {"source":"oban","duration":13296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:33.314 [info] {"source":"oban","duration":9040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.111 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:58:03.340 [info] {"source":"oban","duration":13569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:33.355 [info] {"source":"oban","duration":10418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.122 [info] {"source":"oban","duration":3105,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:59:03.372 [info] {"source":"oban","duration":4726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:33.387 [info] {"source":"oban","duration":6709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.125 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:00:03.415 [info] {"source":"oban","duration":16294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:33.432 [info] {"source":"oban","duration":12489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.141 [info] {"source":"oban","duration":8314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:01:03.455 [info] {"source":"oban","duration":16293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:33.460 [info] {"source":"oban","duration":2488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.149 [info] {"source":"oban","duration":2527,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:02:03.484 [info] {"source":"oban","duration":18613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:29.544 [info] GET / 17:02:29.547 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:02:29.556 [debug] QUERY OK source="settings" db=2.5ms queue=0.5ms idle=1136.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:29.559 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=138.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:02:29.560 [debug] QUERY OK source="sources" db=0.2ms idle=122.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:02:29.561 [debug] QUERY OK source="media_items" db=0.6ms idle=123.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:29.562 [debug] QUERY OK source="media_items" db=0.8ms idle=123.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:29.564 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:29.565 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:29.568 [debug] QUERY OK source="settings" db=0.8ms queue=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 [] 17:02:29.575 [debug] QUERY OK source="tasks" db=1.2ms queue=0.4ms idle=12.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:02:29.581 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=18.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:29.583 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=17.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:02:29.586 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=19.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:02:29.590 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=17.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:02:29.593 [info] Sent 200 in 49ms 17:02:32.596 [info] GET / 17:02:32.601 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:02:32.605 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=1131.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:32.608 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.3ms idle=142.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:02:32.610 [debug] QUERY OK source="sources" db=1.3ms queue=0.3ms idle=126.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:02:32.613 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=128.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:32.616 [debug] QUERY OK source="media_items" db=0.3ms queue=1.9ms idle=130.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:32.618 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:32.619 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:32.621 [debug] QUERY OK source="settings" db=0.3ms 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 [] 17:02:32.625 [debug] QUERY OK source="tasks" db=0.7ms idle=11.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:02:32.628 [debug] QUERY OK source="media_items" db=1.2ms queue=0.9ms idle=10.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:32.630 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:02:32.633 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=11.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:02:32.635 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=11.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:02:32.638 [info] Sent 200 in 41ms 17:02:33.505 [info] {"source":"oban","duration":18164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:52.797 [info] GET / 17:02:52.798 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:02:52.801 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1368.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:52.802 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=922.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:02:52.803 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=906.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:02:52.804 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=904.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:52.805 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=905.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:52.806 [debug] QUERY OK source="settings" db=0.9ms queue=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 [] 17:02:52.807 [debug] QUERY OK source="settings" db=0.6ms 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 [] 17:02:52.809 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 17:02:52.815 [debug] QUERY OK source="tasks" db=1.8ms queue=0.2ms idle=8.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:02:52.817 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=11.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:52.820 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=11.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:02:52.823 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=14.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:02:52.828 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=14.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:02:52.831 [info] Sent 200 in 34ms 17:02:52.956 [info] CONNECTED TO Phoenix.LiveView.Socket in 363µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "PTUDSHkLXTMXHCsqFggoMksMXBgvWiJlycUyIzlWRlyfRByQsA-5j3x-", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:02:52.977 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "downloaded"} 17:02:52.979 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=149.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:02:52.982 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=96.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:02:52.982 [debug] Replied in 5ms 17:02:52.985 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "pending"} 17:02:52.988 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=90.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:02:52.991 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=92.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:02:52.991 [debug] Replied in 6ms 17:02:52.993 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH"} 17:02:52.995 [debug] QUERY OK source="tasks" db=0.6ms idle=98.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:02:52.996 [debug] Replied in 2ms 17:02:59.754 [info] GET /sources 17:02:59.755 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:02:59.760 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=1318.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:59.762 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=776.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:59.764 [debug] QUERY OK source="settings" db=0.7ms idle=762.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:59.767 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=763.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:59.769 [debug] QUERY OK source="settings" db=1.3ms idle=765.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:59.798 [debug] QUERY OK source="sources" db=27.2ms queue=0.1ms idle=11.0ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 17:02:59.804 [debug] QUERY OK source="sources" db=4.2ms queue=0.1ms idle=37.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 17:02:59.810 [info] Sent 200 in 56ms 17:03:00.159 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:03:00.393 [info] CONNECTED TO Phoenix.LiveView.Socket in 603µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "NgEyXnE4WCZ3NSgJLC0WUEAbOFwqJA8xrWdoAIiB2EzEhgG3xVIqoMUy", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:00.424 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 17:03:00.430 [debug] QUERY OK source="sources" db=3.4ms queue=0.4ms idle=405.0ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 17:03:00.436 [debug] QUERY OK source="sources" db=3.8ms queue=0.2ms idle=397.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 17:03:00.436 [debug] Replied in 13ms 17:03:00.477 [debug] HANDLE EVENT "sort_update" in PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: %{"sort_key" => "custom_name"} 17:03:00.485 [debug] QUERY OK source="sources" db=3.4ms queue=1.7ms idle=444.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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 DESC, s0."id" LIMIT ? OFFSET ? [10, 0] 17:03:00.486 [debug] Replied in 9ms 17:03:01.457 [info] GET /sources/1 17:03:01.457 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:03:01.462 [debug] QUERY OK source="sources" db=1.0ms queue=1.0ms idle=974.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:03:01.468 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.4ms idle=420.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:03:01.477 [debug] QUERY OK source="tasks" db=6.3ms queue=0.1ms idle=398.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 17:03:01.480 [debug] QUERY OK source="oban_jobs" db=1.2ms queue=0.1ms idle=405.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 (?,?,?)) [51, 27, 4] 17:03:01.482 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=408.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:03:01.483 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=21.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:03:01.485 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=16.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:03:01.499 [debug] QUERY OK source="sources" db=0.4ms idle=21.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:03:01.505 [debug] QUERY OK source="media_items" db=3.2ms queue=1.2ms idle=21.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")))) [1] 17:03:01.511 [debug] QUERY OK source="media_items" db=2.1ms queue=1.5ms idle=25.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:03:01.513 [debug] QUERY OK source="sources" db=0.4ms idle=29.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:03:01.515 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=28.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:03:01.516 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=16.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:03:01.518 [debug] QUERY OK source="sources" db=0.4ms idle=12.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:03:01.521 [debug] QUERY OK source="media_items" db=1.7ms queue=0.7ms idle=7.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 17:03:01.526 [debug] QUERY OK source="media_items" db=2.3ms queue=1.3ms idle=8.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:03:01.542 [info] Sent 200 in 85ms 17:03:02.232 [info] CONNECTED TO Phoenix.LiveView.Socket in 960µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DA8FUnMmZTMcLyB6IwJjKnsPHGh1PBkrHYScCWTWY_r6gH2ICBmE0UCc", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:02.260 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "pending", "source_id" => 1} 17:03:02.264 [debug] QUERY OK source="sources" db=1.8ms queue=0.3ms idle=735.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:03:02.266 [debug] QUERY OK source="media_items" db=1.1ms idle=184.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")))) [1] 17:03:02.268 [debug] QUERY OK source="media_items" db=1.6ms idle=164.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 ? [1, 10, 0] 17:03:02.268 [debug] Replied in 9ms 17:03:02.270 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "downloaded", "source_id" => 1} 17:03:02.272 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=167.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:03:02.273 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=166.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:03:02.274 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=9.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 ? [1, 10, 0] 17:03:02.274 [debug] Replied in 4ms 17:03:02.276 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "other", "source_id" => 1} 17:03:02.277 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=10.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:03:02.279 [debug] QUERY OK source="media_items" db=1.2ms idle=10.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 17:03:02.282 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=8.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 ? [1, 10, 0] 17:03:02.283 [debug] Replied in 6ms 17:03:03.521 [info] {"source":"oban","duration":13028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:16.450 [info] GET /sources/1/edit 17:03:16.451 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:03:16.454 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=994.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:03:16.457 [debug] QUERY OK source="media_profiles" db=1.1ms decode=0.2ms queue=0.6ms idle=49.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 17:03:16.460 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=33.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:03:16.462 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms idle=34.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:03:16.464 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=36.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:03:16.493 [info] Sent 200 in 43ms 17:03:33.543 [info] {"source":"oban","duration":16286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.164 [info] {"source":"oban","duration":986,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:04:03.554 [info] {"source":"oban","duration":8530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:33.568 [info] {"source":"oban","duration":10960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:42.795 [info] GET / 17:04:42.800 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:04:42.808 [debug] QUERY OK source="settings" db=2.5ms queue=1.1ms idle=1236.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:42.811 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.2ms idle=985.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:04:42.812 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=966.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:04:42.812 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=961.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:04:42.813 [debug] QUERY OK source="media_items" db=0.2ms idle=960.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:04:42.815 [debug] QUERY OK source="settings" db=1.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 [] 17:04:42.816 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:42.818 [debug] QUERY OK source="settings" db=0.4ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:42.823 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=9.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:04:42.827 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=13.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:04:42.832 [debug] QUERY OK source="media_items" db=2.8ms queue=1.1ms idle=11.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:04:42.834 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=14.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:04:42.842 [debug] QUERY OK source="media_items" db=7.3ms queue=0.1ms idle=11.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:04:42.848 [info] Sent 200 in 53ms 17:05:00.169 [info] {"source":"oban","duration":2501,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:05:03.585 [info] {"source":"oban","duration":14568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:33.596 [info] {"source":"oban","duration":6897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.179 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:06:03.616 [info] {"source":"oban","duration":8951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:33.630 [info] {"source":"oban","duration":11157,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.188 [info] {"source":"oban","duration":3294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:07:03.647 [info] {"source":"oban","duration":11086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:33.663 [info] {"source":"oban","duration":10881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.201 [info] {"source":"oban","duration":4824,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:08:03.689 [info] {"source":"oban","duration":17733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:33.704 [info] {"source":"oban","duration":10161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:37.807 [info] GET / 17:08:37.809 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:08:37.816 [debug] QUERY OK source="settings" db=1.3ms queue=0.3ms idle=963.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:37.818 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=952.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:08:37.819 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=952.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:08:37.820 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=951.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:37.820 [debug] QUERY OK source="media_items" db=0.4ms idle=554.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:37.822 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:37.823 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:37.825 [debug] QUERY OK source="settings" db=0.3ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:37.829 [debug] QUERY OK source="tasks" db=0.8ms idle=8.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:08:37.831 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=10.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:37.834 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=9.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:08:37.837 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=12.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:08:37.842 [debug] QUERY OK source="media_items" db=4.1ms queue=0.2ms idle=12.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:08:37.845 [info] Sent 200 in 38ms 17:08:38.438 [info] GET / 17:08:38.439 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:08:38.442 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=598.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:38.444 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.2ms idle=586.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:08:38.445 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=579.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:08:38.448 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=579.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:38.449 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=580.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:38.451 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 17:08:38.452 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 17:08:38.453 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:38.457 [debug] QUERY OK source="tasks" db=0.7ms idle=8.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:08:38.459 [debug] QUERY OK source="media_items" db=0.4ms idle=9.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:38.461 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=8.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:08:38.464 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=11.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:08:38.467 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=11.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:08:38.470 [info] Sent 200 in 31ms 17:08:38.603 [info] CONNECTED TO Phoenix.LiveView.Socket in 302µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FDp7fXYCeQ4UXT0hCAcJPF4uHEwrHjQKPl-LFsHjQ-omLMX_fcmanwnB", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:38.625 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "downloaded"} 17:08:38.628 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=169.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:38.631 [debug] QUERY OK source="media_items" db=2.9ms idle=169.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:08:38.631 [debug] Replied in 6ms 17:08:38.634 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "pending"} 17:08:38.638 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=173.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:08:38.641 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=174.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:08:38.642 [debug] Replied in 7ms 17:08:38.644 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH"} 17:08:38.647 [debug] QUERY OK source="tasks" db=1.9ms queue=0.2ms idle=177.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:08:38.647 [debug] Replied in 3ms 17:08:41.085 [info] GET /media_profiles 17:08:41.086 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 17:08:41.091 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.2ms idle=820.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 17:08:41.095 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=166.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:41.098 [debug] QUERY OK source="settings" db=1.7ms queue=0.3ms idle=143.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:41.101 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=146.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:41.109 [info] Sent 200 in 23ms 17:08:43.540 [info] GET /media_profiles/1/edit 17:08:43.542 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:08:43.553 [debug] QUERY OK source="media_profiles" db=4.6ms queue=0.6ms idle=1270.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 17:08:43.558 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=580.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:43.559 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=573.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:43.562 [debug] QUERY OK source="settings" db=1.1ms idle=572.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:43.570 [info] Sent 200 in 29ms 17:09:00.208 [info] {"source":"oban","duration":2150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:09:03.727 [info] {"source":"oban","duration":17604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:04.874 [info] GET / 17:09:04.876 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:09:04.891 [debug] QUERY OK source="settings" db=4.9ms queue=4.0ms idle=1154.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:09:04.893 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.2ms idle=460.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:09:04.895 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=450.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:09:04.896 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=451.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:09:04.898 [debug] QUERY OK source="media_items" db=0.5ms idle=450.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:09:04.899 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:09:04.901 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:09:04.902 [debug] QUERY OK source="settings" db=0.5ms 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 [] 17:09:04.906 [debug] QUERY OK source="tasks" db=0.6ms idle=9.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:09:04.908 [debug] QUERY OK source="media_items" db=0.7ms idle=9.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:09:04.910 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=9.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:09:04.914 [debug] QUERY OK source="media_items" db=1.9ms idle=11.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:09:04.916 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=11.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:09:04.919 [info] Sent 200 in 45ms 17:09:05.022 [info] CONNECTED TO Phoenix.LiveView.Socket in 541µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Lx0weXdHB1B3LxR5Pi9gEFwmAH0SEw4ikKfHG6642_F5ze1sdkqPWzTj", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:05.043 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "downloaded"} 17:09:05.047 [debug] QUERY OK source="media_items" db=1.7ms queue=0.4ms idle=138.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:09:05.051 [debug] QUERY OK source="media_items" db=2.0ms queue=0.2ms idle=139.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:09:05.051 [debug] Replied in 8ms 17:09:05.053 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "pending"} 17:09:05.056 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=143.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:09:05.060 [debug] QUERY OK source="media_items" db=3.6ms idle=142.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:09:05.060 [debug] Replied in 6ms 17:09:05.062 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH"} 17:09:05.064 [debug] QUERY OK source="tasks" db=0.8ms idle=146.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:09:05.064 [debug] Replied in 2ms 17:09:08.865 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 17:09:08.878 [debug] QUERY OK source="media_items" db=6.3ms queue=0.6ms idle=448.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:09:08.888 [debug] QUERY OK source="media_items" db=6.3ms queue=0.3ms idle=353.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:09:08.889 [debug] Replied in 25ms 17:09:33.734 [info] {"source":"oban","duration":5183,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.217 [info] {"source":"oban","duration":2295,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:10:03.739 [info] {"source":"oban","duration":3226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:33.764 [info] {"source":"oban","duration":12193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.230 [info] {"source":"oban","duration":4953,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:11:03.778 [info] {"source":"oban","duration":10211,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:33.791 [info] {"source":"oban","duration":9739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:42.642 [info] CONNECTED TO Phoenix.LiveView.Socket in 353µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Lx0weXdHB1B3LxR5Pi9gEFwmAH0SEw4ikKfHG6642_F5ze1sdkqPWzTj", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.cmagtv.top/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.cmagtv.top/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:42.664 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "downloaded"} 17:11:42.668 [debug] QUERY OK source="media_items" db=2.1ms queue=1.0ms idle=1705.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:11:42.673 [debug] QUERY OK source="media_items" db=3.0ms queue=0.6ms idle=710.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:11:42.674 [debug] Replied in 10ms 17:11:42.680 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH", "media_state" => "pending"} 17:11:42.683 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=708.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:11:42.688 [debug] QUERY OK source="media_items" db=4.5ms queue=0.2ms idle=711.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:11:42.691 [debug] Replied in 11ms 17:11:42.694 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DVV10q1dEpRLDJQc8Mq-EiZH"} 17:11:42.697 [debug] QUERY OK source="tasks" db=1.2ms queue=0.1ms idle=724.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:11:42.697 [debug] Replied in 3ms 17:12:00.256 [info] {"source":"oban","duration":7777,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:12:03.812 [info] {"source":"oban","duration":12589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:33.835 [info] {"source":"oban","duration":19630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.261 [info] {"source":"oban","duration":1202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:13:03.850 [info] {"source":"oban","duration":9542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:33.868 [info] {"source":"oban","duration":14300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.276 [info] {"source":"oban","duration":3664,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:14:03.882 [info] {"source":"oban","duration":10588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:33.904 [info] {"source":"oban","duration":15527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.291 [info] {"source":"oban","duration":3391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:15:03.926 [info] {"source":"oban","duration":14934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:33.946 [info] {"source":"oban","duration":16148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.295 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:16:03.964 [info] {"source":"oban","duration":10999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:33.480 [info] GET /sources 17:16:33.483 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:16:33.490 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1092.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:33.491 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=87.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:33.497 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=71.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:33.502 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=77.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:33.502 [debug] QUERY OK source="settings" db=0.3ms idle=77.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:33.509 [debug] QUERY OK source="sources" db=4.1ms queue=0.1ms idle=15.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)) [] 17:16:33.516 [debug] QUERY OK source="sources" db=5.6ms queue=0.1ms idle=18.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 17:16:33.527 [info] Sent 200 in 47ms 17:16:33.979 [info] GET /settings 17:16:33.981 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 17:16:33.990 [info] {"source":"oban","duration":19716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:33.990 [debug] QUERY OK source="settings" db=1.6ms queue=0.3ms idle=486.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:33.993 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=489.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:33.994 [debug] QUERY OK source="settings" db=0.3ms idle=484.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:33.996 [debug] QUERY OK source="settings" db=0.6ms idle=478.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:34.002 [info] Sent 200 in 22ms 17:16:44.973 [info] GET /app_info 17:16:44.975 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 17:16:44.987 [debug] QUERY OK source="settings" db=5.1ms queue=0.9ms idle=1100.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:44.989 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=323.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:44.991 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=307.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:44.994 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=309.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:44.995 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=310.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:16:44.998 [info] Sent 200 in 24ms 17:17:00.311 [info] {"source":"oban","duration":6761,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:17:04.005 [info] {"source":"oban","duration":8649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:34.013 [info] {"source":"oban","duration":5943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:43.879 [info] GET /media_profiles 17:17:43.881 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 17:17:43.885 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.3ms idle=1019.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 17:17:43.889 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=1002.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:17:43.890 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1003.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:17:43.893 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1005.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:17:43.903 [info] Sent 200 in 23ms 17:18:00.326 [info] {"source":"oban","duration":1959,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:18:04.032 [info] {"source":"oban","duration":15382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:34.057 [info] {"source":"oban","duration":12339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.340 [info] {"source":"oban","duration":2127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:19:04.077 [info] {"source":"oban","duration":10996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:34.104 [info] {"source":"oban","duration":17561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.349 [info] {"source":"oban","duration":3380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:20:04.115 [info] {"source":"oban","duration":2980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:34.134 [info] {"source":"oban","duration":14059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.362 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:21:04.166 [info] {"source":"oban","duration":18101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:34.193 [info] {"source":"oban","duration":14867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.369 [info] {"source":"oban","duration":3387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:22:04.207 [info] {"source":"oban","duration":3454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:34.224 [info] {"source":"oban","duration":7678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.379 [info] {"source":"oban","duration":4041,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:23:04.244 [info] {"source":"oban","duration":10963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:34.264 [info] {"source":"oban","duration":15314,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.399 [info] {"source":"oban","duration":5389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:24:04.281 [info] {"source":"oban","duration":13414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:34.295 [info] {"source":"oban","duration":10585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.406 [info] {"source":"oban","duration":1779,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:25:04.317 [info] {"source":"oban","duration":19129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:34.320 [info] {"source":"oban","duration":2356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.413 [info] {"source":"oban","duration":3874,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:26:04.343 [info] {"source":"oban","duration":14997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:34.373 [info] {"source":"oban","duration":25475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.424 [info] {"source":"oban","duration":7577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:27:04.396 [info] {"source":"oban","duration":15982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:34.410 [info] {"source":"oban","duration":9016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.435 [info] {"source":"oban","duration":3651,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:28:04.424 [info] {"source":"oban","duration":12689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:34.441 [info] {"source":"oban","duration":12736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.446 [info] {"source":"oban","duration":3288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:29:04.473 [info] {"source":"oban","duration":18932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:34.489 [info] {"source":"oban","duration":7635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.452 [info] {"source":"oban","duration":1784,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:30:04.503 [info] {"source":"oban","duration":7959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:34.510 [info] {"source":"oban","duration":2948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.457 [info] {"source":"oban","duration":1309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:31:04.536 [info] {"source":"oban","duration":14009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:34.557 [info] {"source":"oban","duration":14047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.462 [info] {"source":"oban","duration":2836,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:32:04.581 [info] {"source":"oban","duration":15086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:34.587 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.466 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:33:04.602 [info] {"source":"oban","duration":6124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:34.630 [info] {"source":"oban","duration":19781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.475 [info] {"source":"oban","duration":3091,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:34:04.651 [info] {"source":"oban","duration":14318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:34.658 [info] {"source":"oban","duration":4893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.482 [info] {"source":"oban","duration":2986,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:35:04.666 [info] {"source":"oban","duration":6287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:34.673 [info] {"source":"oban","duration":4543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.491 [info] {"source":"oban","duration":2066,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:36:04.681 [info] {"source":"oban","duration":5379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:34.686 [info] {"source":"oban","duration":2831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.494 [info] {"source":"oban","duration":1679,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:37:04.694 [info] {"source":"oban","duration":4721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:34.716 [info] {"source":"oban","duration":11421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.501 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:38:04.739 [info] {"source":"oban","duration":10076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:34.754 [info] {"source":"oban","duration":11130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.513 [info] {"source":"oban","duration":5733,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:39:04.777 [info] {"source":"oban","duration":15514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:34.797 [info] {"source":"oban","duration":15793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.524 [info] {"source":"oban","duration":1810,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:40:04.819 [info] {"source":"oban","duration":9590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:34.835 [info] {"source":"oban","duration":11650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.532 [info] {"source":"oban","duration":4371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:41:04.842 [info] {"source":"oban","duration":4601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:34.858 [info] {"source":"oban","duration":14049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.545 [info] {"source":"oban","duration":2121,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:42:04.877 [info] {"source":"oban","duration":15018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:34.893 [info] {"source":"oban","duration":12691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.552 [info] {"source":"oban","duration":2854,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:43:04.900 [info] {"source":"oban","duration":4563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:34.914 [info] {"source":"oban","duration":10786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.566 [info] {"source":"oban","duration":3175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:44:02.666 [info] GET / 17:44:02.668 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:44:02.676 [debug] QUERY OK source="settings" db=3.4ms queue=0.5ms idle=326.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:02.680 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.3ms idle=322.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:44:02.682 [debug] QUERY OK source="sources" db=0.5ms queue=0.5ms idle=323.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:44:02.683 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=324.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:44:02.684 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=114.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:44:02.686 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 17:44:02.686 [debug] QUERY OK source="settings" db=0.2ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:02.689 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms 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 [] 17:44:02.694 [debug] QUERY OK source="tasks" db=0.9ms idle=10.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:44:02.699 [debug] QUERY OK source="media_items" db=0.8ms idle=14.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:44:02.701 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=13.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:44:02.704 [debug] QUERY OK source="media_items" db=1.1ms idle=16.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:44:02.708 [debug] QUERY OK source="media_items" db=2.9ms idle=15.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:44:02.712 [info] Sent 200 in 45ms 17:44:04.929 [info] {"source":"oban","duration":10070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:10.803 [info] GET /app_info 17:44:10.807 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 17:44:10.820 [debug] QUERY OK source="settings" db=4.1ms queue=1.8ms idle=282.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:10.822 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=268.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:10.825 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=269.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:10.827 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=272.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:10.829 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=224.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:10.831 [info] Sent 200 in 28ms 17:44:11.636 [info] GET /sources 17:44:11.637 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:44:11.644 [debug] QUERY OK source="settings" db=1.3ms queue=0.4ms idle=813.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:11.647 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=85.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:11.651 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=71.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:11.654 [debug] QUERY OK source="settings" db=1.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 [] 17:44:11.655 [debug] QUERY OK source="settings" db=0.2ms idle=74.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:11.659 [debug] QUERY OK source="sources" db=2.0ms idle=12.4ms 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)) [] 17:44:11.664 [debug] QUERY OK source="sources" db=3.7ms queue=0.3ms idle=12.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 17:44:11.671 [info] Sent 200 in 34ms 17:44:14.009 [info] GET /settings 17:44:14.011 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 17:44:14.016 [debug] QUERY OK source="settings" db=2.5ms queue=0.3ms idle=407.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:14.021 [debug] QUERY OK source="settings" db=2.0ms queue=0.2ms 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 [] 17:44:14.022 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=400.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:14.023 [debug] QUERY OK source="settings" db=0.2ms idle=401.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:14.028 [info] Sent 200 in 19ms 17:44:16.149 [info] GET /media_profiles 17:44:16.152 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 17:44:16.168 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.4ms idle=543.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 17:44:16.174 [debug] QUERY OK source="settings" db=1.4ms queue=0.8ms idle=509.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:16.176 [debug] QUERY OK source="settings" db=0.5ms queue=0.5ms idle=491.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:16.178 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=493.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:16.182 [info] Sent 200 in 33ms 17:44:34.942 [info] {"source":"oban","duration":8432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:40.035 [info] GET /download_logs 17:44:40.037 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 17:44:40.061 [info] Sent 200 in 26ms 17:44:42.076 [info] GET /sources/1 17:44:42.079 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:44:42.085 [debug] QUERY OK source="sources" db=2.2ms queue=0.3ms idle=1399.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:42.089 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.3ms idle=961.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:44:42.123 [debug] QUERY OK source="tasks" db=32.6ms queue=0.1ms idle=949.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 17:44:42.128 [debug] QUERY OK source="oban_jobs" db=1.6ms queue=0.2ms 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" IN (?,?,?)) [51, 27, 4] 17:44:42.131 [debug] QUERY OK source="settings" db=1.7ms 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 [] 17:44:42.134 [debug] QUERY OK source="settings" db=2.5ms queue=0.2ms idle=43.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:42.137 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=13.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:42.151 [debug] QUERY OK source="sources" db=1.3ms queue=0.4ms 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" = ?) [1] 17:44:42.154 [debug] QUERY OK source="media_items" db=2.1ms idle=14.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")))) [1] 17:44:42.157 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=9.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 ? [1, 10, 0] 17:44:42.160 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" = ?) [1] 17:44:42.163 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=12.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:44:42.164 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=12.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:44:42.166 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:42.169 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=9.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 17:44:42.172 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=8.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 ? [1, 10, 0] 17:44:42.180 [info] Sent 200 in 104ms 17:44:42.487 [info] GET /sources/1/edit 17:44:42.491 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:44:42.501 [debug] QUERY OK source="sources" db=2.9ms queue=0.9ms idle=333.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:42.508 [debug] QUERY OK source="media_profiles" db=4.5ms queue=0.3ms idle=339.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 17:44:42.511 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=343.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:42.513 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=342.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:42.515 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=342.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:42.529 [info] Sent 200 in 42ms 17:44:43.349 [info] GET /sources/1/ 17:44:43.350 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:44:43.357 [debug] QUERY OK source="sources" db=2.6ms queue=0.4ms idle=839.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:43.360 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.2ms idle=199.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:44:43.362 [debug] QUERY OK source="tasks" db=0.8ms queue=0.2ms idle=187.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 17:44:43.364 [debug] QUERY OK source="oban_jobs" db=0.7ms queue=0.1ms idle=188.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 (?,?,?)) [51, 27, 4] 17:44:43.366 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=190.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:43.367 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:43.369 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:43.375 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=12.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:43.377 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=11.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")))) [1] 17:44:43.380 [debug] QUERY OK source="media_items" db=2.1ms idle=11.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:44:43.382 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [1] 17:44:43.383 [debug] QUERY OK source="media_items" db=0.9ms idle=13.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:44:43.385 [debug] QUERY OK source="media_items" db=0.8ms 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 ? [1, 10, 0] 17:44:43.388 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms 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" = ?) [1] 17:44:43.390 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=9.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 17:44:43.394 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=9.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:44:43.403 [info] Sent 200 in 54ms 17:44:44.915 [info] GET /media_profiles/1 17:44:44.917 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:44:44.922 [debug] QUERY OK source="media_profiles" db=2.2ms queue=0.3ms idle=726.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 17:44:44.928 [debug] QUERY OK source="sources" db=2.2ms queue=0.4ms idle=713.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 17:44:44.929 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=717.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:44.931 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=718.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:44.934 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=242.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:44.939 [info] Sent 200 in 24ms 17:44:45.528 [info] GET /media_profiles/1/ 17:44:45.530 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:44:45.541 [debug] QUERY OK source="media_profiles" db=3.6ms queue=0.6ms idle=600.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 17:44:45.543 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=329.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 17:44:45.545 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=310.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:45.546 [debug] QUERY OK source="settings" db=0.5ms idle=309.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:45.547 [debug] QUERY OK source="settings" db=0.6ms idle=311.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:45.553 [info] Sent 200 in 25ms 17:44:46.132 [info] GET /media_profiles/new 17:44:46.133 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 17:44:46.140 [debug] QUERY OK source="settings" db=2.5ms queue=0.7ms idle=598.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.144 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=599.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.145 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=599.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.147 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=600.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.149 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=600.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.154 [info] Sent 200 in 22ms 17:44:46.635 [info] GET /sources/new 17:44:46.640 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 17:44:46.648 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.4ms idle=494.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 17:44:46.650 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=421.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.653 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=410.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.654 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=409.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.655 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=411.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.659 [debug] QUERY OK source="settings" db=1.3ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:46.670 [info] Sent 200 in 35ms 17:44:47.164 [info] GET /media_profiles/1/edit 17:44:47.166 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:44:47.175 [debug] QUERY OK source="media_profiles" db=3.5ms queue=0.7ms idle=520.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 17:44:47.178 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=522.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:47.179 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=524.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:47.181 [debug] QUERY OK source="settings" db=0.4ms idle=525.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:47.187 [info] Sent 200 in 23ms 17:44:52.908 [info] GET /sources/1/media/10 17:44:52.911 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10", "source_id" => "1"} Pipelines: [:browser] 17:44:52.922 [debug] QUERY OK source="media_items" db=2.2ms queue=1.7ms idle=565.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" = ?) [10] 17:44:52.932 [debug] QUERY OK source="sources" db=0.9ms queue=1.0ms idle=564.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:52.934 [debug] QUERY OK source="tasks" db=2.2ms queue=1.3ms idle=563.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" [10] 17:44:52.935 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=566.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:52.937 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=200.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:52.938 [debug] QUERY OK source="settings" db=0.2ms idle=15.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:52.944 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 17:44:52.952 [info] Sent 200 in 44ms 17:44:53.495 [info] GET /sources/1/media/9 17:44:53.497 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9", "source_id" => "1"} Pipelines: [:browser] 17:44:53.505 [debug] QUERY OK source="media_items" db=3.8ms queue=0.6ms idle=555.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" = ?) [9] 17:44:53.508 [debug] QUERY OK source="tasks" db=0.5ms queue=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" [9] 17:44:53.509 [debug] QUERY OK source="sources" db=2.0ms idle=114.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:53.512 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=116.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:53.513 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=117.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:53.514 [debug] QUERY OK source="settings" db=0.4ms 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 [] 17:44:53.518 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms 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] 17:44:53.523 [info] Sent 200 in 28ms 17:44:54.031 [info] GET /sources/1/media/8 17:44:54.033 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "8", "source_id" => "1"} Pipelines: [:browser] 17:44:54.040 [debug] QUERY OK source="media_items" db=0.7ms queue=0.3ms idle=529.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" = ?) [8] 17:44:54.042 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=529.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" [8] 17:44:54.043 [debug] QUERY OK source="sources" db=1.5ms idle=528.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:54.047 [debug] QUERY OK source="settings" db=2.2ms queue=0.4ms idle=529.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:54.048 [debug] QUERY OK source="settings" db=0.5ms idle=529.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:54.049 [debug] QUERY OK source="settings" db=0.3ms 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 [] 17:44:54.052 [debug] QUERY OK source="media_profiles" db=0.9ms 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] 17:44:54.058 [info] Sent 200 in 26ms 17:44:54.559 [info] GET /sources/1/media/6 17:44:54.562 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6", "source_id" => "1"} Pipelines: [:browser] 17:44:54.571 [debug] QUERY OK source="media_items" db=3.9ms queue=0.5ms idle=513.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" = ?) [6] 17:44:54.573 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=166.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" [6] 17:44:54.573 [debug] QUERY OK source="sources" db=0.6ms idle=150.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:54.576 [debug] QUERY OK source="settings" db=0.6ms idle=152.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:54.578 [debug] QUERY OK source="settings" db=0.5ms queue=0.9ms idle=152.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:54.581 [debug] QUERY OK source="settings" db=1.4ms queue=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 [] 17:44:54.585 [debug] QUERY OK source="media_profiles" db=0.8ms queue=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] 17:44:54.590 [info] Sent 200 in 30ms 17:44:55.111 [info] GET /sources/1/media/2 17:44:55.113 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2", "source_id" => "1"} Pipelines: [:browser] 17:44:55.120 [debug] QUERY OK source="media_items" db=2.9ms queue=0.4ms idle=543.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" = ?) [2] 17:44:55.123 [debug] QUERY OK source="sources" db=0.8ms idle=544.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:55.125 [debug] QUERY OK source="tasks" db=2.8ms queue=0.1ms idle=546.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" [2] 17:44:55.127 [debug] QUERY OK source="settings" db=0.6ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:55.128 [debug] QUERY OK source="settings" db=0.7ms idle=542.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:55.130 [debug] QUERY OK source="settings" db=0.3ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:55.132 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 17:44:55.136 [info] Sent 200 in 25ms 17:44:55.516 [info] GET /sources/1/media/3 17:44:55.518 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3", "source_id" => "1"} Pipelines: [:browser] 17:44:55.522 [debug] QUERY OK source="media_items" db=1.4ms queue=0.3ms idle=387.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" = ?) [3] 17:44:55.526 [debug] QUERY OK source="tasks" db=1.2ms queue=0.2ms idle=89.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" [3] 17:44:55.528 [debug] QUERY OK source="sources" db=2.7ms queue=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:55.531 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=70.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:55.533 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=69.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:55.536 [debug] QUERY OK source="settings" db=1.2ms queue=0.3ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:55.540 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.3ms idle=13.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:44:55.547 [info] Sent 200 in 30ms 17:44:56.082 [info] GET /sources/1/media/1 17:44:56.083 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1", "source_id" => "1"} Pipelines: [:browser] 17:44:56.085 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=555.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 17:44:56.086 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=554.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" [1] 17:44:56.088 [debug] QUERY OK source="sources" db=1.6ms idle=553.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:56.089 [debug] QUERY OK source="settings" db=0.9ms idle=552.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:56.090 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=549.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:56.092 [debug] QUERY OK source="settings" db=0.3ms 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 [] 17:44:56.094 [debug] QUERY OK source="media_profiles" db=0.8ms 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] 17:44:56.098 [info] Sent 200 in 16ms 17:44:56.605 [info] GET /sources/1/media/7 17:44:56.607 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 17:44:56.614 [debug] QUERY OK source="media_items" db=3.3ms queue=0.3ms idle=515.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" = ?) [7] 17:44:56.621 [debug] QUERY OK source="sources" db=3.4ms queue=0.2ms idle=147.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:56.623 [debug] QUERY OK source="tasks" db=5.8ms queue=0.4ms idle=164.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" [7] 17:44:56.628 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=156.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:56.629 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=157.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:56.631 [debug] QUERY OK source="settings" db=0.4ms idle=17.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:56.635 [debug] QUERY OK source="media_profiles" db=0.9ms idle=13.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:44:56.641 [info] Sent 200 in 36ms 17:44:57.165 [info] GET /sources/1/media/4 17:44:57.167 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4", "source_id" => "1"} Pipelines: [:browser] 17:44:57.172 [debug] QUERY OK source="media_items" db=1.9ms queue=0.3ms idle=546.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" = ?) [4] 17:44:57.178 [debug] QUERY OK source="sources" db=1.1ms idle=547.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:57.178 [debug] QUERY OK source="tasks" db=1.6ms queue=0.1ms idle=548.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" [4] 17:44:57.180 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=548.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:57.181 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:57.183 [debug] QUERY OK source="settings" db=0.3ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:57.186 [debug] QUERY OK source="media_profiles" db=0.7ms queue=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] 17:44:57.190 [info] Sent 200 in 25ms 17:44:57.645 [info] GET /sources/1/media/5 17:44:57.646 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "5", "source_id" => "1"} Pipelines: [:browser] 17:44:57.649 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=461.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" = ?) [5] 17:44:57.651 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=193.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" [5] 17:44:57.653 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=182.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:44:57.655 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=185.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:57.656 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=187.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:57.660 [debug] QUERY OK source="settings" db=0.7ms queue=0.6ms 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 [] 17:44:57.667 [debug] QUERY OK source="media_profiles" db=1.2ms queue=1.0ms idle=13.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:44:57.673 [info] Sent 200 in 27ms 17:44:58.170 [info] GET /sources/1/force_index 17:44:58.185 [debug] QUERY OK source="settings" db=5.8ms queue=1.3ms idle=524.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:58.187 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=530.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:58.187 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:44:58.190 [error] #PID<0.3806.0> running PinchflatWeb.Endpoint (connection #PID<0.3805.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53800}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3806.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWFwm00V_cJvycAAB0i"} ], 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.3805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53800}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53800}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" = (truncated) 17:44:58.662 [info] GET /sources/1/sync_files_on_disk 17:44:58.671 [debug] QUERY OK source="settings" db=2.9ms queue=0.9ms idle=480.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:58.675 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=193.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:44:58.675 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:44:58.677 [error] #PID<0.3808.0> running PinchflatWeb.Endpoint (connection #PID<0.3807.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53816}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3808.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWFwoqOSfzDOLwAAB0y"} ], 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.3807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53816}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 53816}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: % (truncated) 17:45:00.223 [info] GET /sources/1/force_redownload 17:45:00.226 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms idle=717.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:00.228 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=700.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:00.228 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:00.230 [error] #PID<0.3810.0> running PinchflatWeb.Endpoint (connection #PID<0.3809.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3809.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 60102}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3810.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWFwuedQZpjqe0AAB1C"} ], 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.3809.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 60102}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3809.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 60102}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, co (truncated) 17:45:00.571 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:45:04.966 [info] {"source":"oban","duration":13526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:05.073 [info] GET /sources/1/force_download_pending 17:45:05.081 [debug] QUERY OK source="settings" db=2.2ms queue=0.5ms idle=459.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:05.084 [debug] QUERY OK source="settings" db=1.0ms queue=0.4ms idle=445.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:05.085 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:05.086 [error] #PID<0.3812.0> running PinchflatWeb.Endpoint (connection #PID<0.3811.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/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/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 60104}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3812.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWFxAihTmfeu24AAB1S"} ], 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.3811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 60104}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 60104}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assign (truncated) 17:45:19.536 [info] GET /sources/1/force_metadata_refresh 17:45:19.540 [debug] QUERY OK source="settings" db=1.1ms queue=0.3ms idle=1592.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:19.542 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=587.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:19.543 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:19.545 [error] #PID<0.3814.0> running PinchflatWeb.Endpoint (connection #PID<0.3813.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/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/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 34994}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3814.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWFx2bCRQUxAr8AAB2h"} ], 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.3813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 34994}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 34994}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assign (truncated) 17:45:34.985 [info] {"source":"oban","duration":10420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.044 [info] GET /sources/1/media/4/edit 17:46:00.045 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4", "source_id" => "1"} Pipelines: [:browser] 17:46:00.053 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=1117.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" = ?) [4] 17:46:00.057 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=200.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:46:00.059 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms idle=185.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:46:00.062 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=187.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:46:00.070 [info] Sent 200 in 26ms 17:46:00.597 [info] {"source":"oban","duration":10884,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:46:04.993 [info] {"source":"oban","duration":5657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:35.015 [info] {"source":"oban","duration":10224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.610 [info] {"source":"oban","duration":2516,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:47:01.796 [info] GET /sources/1/media/9/edit 17:47:01.797 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "9", "source_id" => "1"} Pipelines: [:browser] 17:47:01.799 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=1189.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" = ?) [9] 17:47:01.803 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=629.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:47:01.804 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=621.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:47:01.806 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=622.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:47:01.812 [info] Sent 200 in 16ms 17:47:05.033 [info] {"source":"oban","duration":15124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:35.057 [info] {"source":"oban","duration":13975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:55.999 [info] GET /sources/1/media/1/force_download 17:47:56.005 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=1589.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:47:56.007 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=689.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:47:56.007 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:47:56.008 [error] #PID<0.3831.0> running PinchflatWeb.Endpoint (connection #PID<0.3830.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/media/1/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/1/media/1/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/1/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 58772}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3831.0>, params: %{}, path_info: ["sources", "1", "media", "1", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1/media/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/media/1/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWF69SmhkpZRyUAAB3S"} ], 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.3830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/1/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 58772}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/1/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/1/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 58772}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVmlheTh0NWxHX0Vubkw4QkcyQTlpY0Fw.0nw1TJG130fFwkrIuwL7V23wQq87mGyr2acovSp25eo", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :und (truncated) 17:48:00.627 [info] {"source":"oban","duration":5893,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:48:05.078 [info] {"source":"oban","duration":15603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:35.107 [info] {"source":"oban","duration":19497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:44.726 [info] GET /sources/1/media/8/edit 17:48:44.730 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "8", "source_id" => "1"} Pipelines: [:browser] 17:48:44.736 [debug] QUERY OK source="media_items" db=0.7ms queue=0.3ms idle=406.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" = ?) [8] 17:48:44.739 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=393.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:48:44.741 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=393.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:48:44.743 [debug] QUERY OK source="settings" db=0.6ms idle=395.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:48:44.749 [info] Sent 200 in 22ms 17:49:00.646 [info] {"source":"oban","duration":7916,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:49:05.133 [info] {"source":"oban","duration":12628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:35.149 [info] {"source":"oban","duration":12430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:47.937 [info] GET /sources/1/media/3/edit 17:49:47.946 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3", "source_id" => "1"} Pipelines: [:browser] 17:49:47.960 [debug] QUERY OK source="media_items" db=1.1ms queue=4.5ms idle=1175.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" = ?) [3] 17:49:47.965 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=263.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:49:47.966 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=247.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:49:47.968 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=249.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:49:47.974 [info] Sent 200 in 37ms 17:50:00.664 [info] {"source":"oban","duration":4123,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:50:05.164 [info] {"source":"oban","duration":8501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:35.188 [info] {"source":"oban","duration":17163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:46.901 [info] GET /sources/1/media/1/edit 17:50:46.905 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1", "source_id" => "1"} Pipelines: [:browser] 17:50:46.910 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=944.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" = ?) [1] 17:50:46.913 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 17:50:46.913 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=912.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:50:46.915 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=914.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:50:46.921 [info] Sent 200 in 20ms 17:51:00.678 [info] {"source":"oban","duration":5709,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:51:05.211 [info] {"source":"oban","duration":16560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:35.219 [info] {"source":"oban","duration":3254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:38.924 [info] GET /sources/1/media/6/edit 17:51:38.928 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6", "source_id" => "1"} Pipelines: [:browser] 17:51:38.937 [debug] QUERY OK source="media_items" db=2.9ms queue=0.7ms idle=1682.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" = ?) [6] 17:51:38.943 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=685.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:51:38.946 [debug] QUERY OK source="settings" db=1.3ms queue=0.3ms idle=668.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:51:38.950 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=672.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:51:38.959 [info] Sent 200 in 35ms 17:52:00.698 [info] {"source":"oban","duration":6270,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:52:05.235 [info] {"source":"oban","duration":11508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:24.642 [info] GET /sources/1/media/2/edit 17:52:24.647 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2", "source_id" => "1"} Pipelines: [:browser] 17:52:24.653 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=333.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" = ?) [2] 17:52:24.656 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=321.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:52:24.657 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=322.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:52:24.659 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=323.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:52:24.665 [info] Sent 200 in 23ms 17:52:35.255 [info] {"source":"oban","duration":11857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.708 [info] {"source":"oban","duration":3002,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:53:05.283 [info] {"source":"oban","duration":15962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:07.031 [info] GET /sources/1/media/5/edit 17:53:07.035 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "5", "source_id" => "1"} Pipelines: [:browser] 17:53:07.042 [debug] QUERY OK source="media_items" db=1.0ms queue=0.3ms idle=866.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" = ?) [5] 17:53:07.044 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=849.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:53:07.045 [debug] QUERY OK source="settings" db=0.3ms idle=847.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:53:07.047 [debug] QUERY OK source="settings" db=0.6ms idle=843.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:53:07.052 [info] Sent 200 in 20ms 17:53:35.308 [info] {"source":"oban","duration":17149,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:45.549 [info] GET /sources/1/media/7/edit 17:53:45.552 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 17:53:45.558 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=906.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" = ?) [7] 17:53:45.565 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=548.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:53:45.566 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=529.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:53:45.568 [debug] QUERY OK source="settings" db=0.3ms idle=530.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:53:45.574 [info] Sent 200 in 24ms 17:54:00.724 [info] {"source":"oban","duration":4864,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:54:05.318 [info] {"source":"oban","duration":2909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:19.289 [info] GET /sources/1/media/10/force_download 17:54:19.297 [debug] QUERY OK source="settings" db=1.1ms queue=0.9ms idle=558.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:54:19.298 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=543.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:54:19.299 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:54:19.301 [error] #PID<0.3876.0> running PinchflatWeb.Endpoint (connection #PID<0.3875.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/media/10/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/1/media/10/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3875.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/10/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 59416}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdkdlNVZONExBbDRtRFAtYWVDOUZtcVA5.7rfXeZSF7nvJwQoG_YkOamCB5tWueOtaA7uqL9oYz_g", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/10", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdkdlNVZONExBbDRtRFAtYWVDOUZtcVA5.7rfXeZSF7nvJwQoG_YkOamCB5tWueOtaA7uqL9oYz_g" }, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3876.0>, params: %{}, path_info: ["sources", "1", "media", "10", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdkdlNVZONExBbDRtRFAtYWVDOUZtcVA5.7rfXeZSF7nvJwQoG_YkOamCB5tWueOtaA7uqL9oYz_g" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdkdlNVZONExBbDRtRFAtYWVDOUZtcVA5.7rfXeZSF7nvJwQoG_YkOamCB5tWueOtaA7uqL9oYz_g"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1/media/10"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/media/10/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWGRRKDnOTcbsIAAB4x"} ], 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.3875.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/10/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 59416}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdkdlNVZONExBbDRtRFAtYWVDOUZtcVA5.7rfXeZSF7nvJwQoG_YkOamCB5tWueOtaA7uqL9oYz_g", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/10", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/10/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3875.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/10/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 59416}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdkdlNVZONExBbDRtRFAtYWVDOUZtcVA5.7rfXeZSF7nvJwQoG_YkOamCB5tWueOtaA7uqL9oYz_g", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/10", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, hos (truncated) 17:54:35.334 [info] {"source":"oban","duration":9372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:49.901 [info] GET /sources/1/media/3/force_download 17:54:49.909 [debug] QUERY OK source="settings" db=3.8ms queue=0.7ms idle=994.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:54:49.914 [debug] QUERY OK source="settings" db=2.5ms queue=0.4ms idle=519.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:54:49.915 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:54:49.917 [error] #PID<0.3881.0> running PinchflatWeb.Endpoint (connection #PID<0.3880.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/media/3/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/1/media/3/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3880.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/3/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56092}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3881.0>, params: %{}, path_info: ["sources", "1", "media", "3", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1/media/3"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/media/3/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWGTDMrOLP3hrEAAB5R"} ], 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.3880.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/3/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56092}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/3/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3880.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/3/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 56092}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3881.0>, params: %{}, path_info: ["sources", "1", "media", "3", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_co (truncated) 17:55:00.734 [info] {"source":"oban","duration":2154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:55:05.362 [info] {"source":"oban","duration":14967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:35.395 [info] {"source":"oban","duration":20592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:50.050 [info] GET /sources/1/media/9/force_download 17:55:50.065 [debug] QUERY OK source="settings" db=2.7ms queue=3.7ms idle=933.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:55:50.066 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 17:55:50.067 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:55:50.068 [error] #PID<0.3887.0> running PinchflatWeb.Endpoint (connection #PID<0.3886.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/media/9/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/1/media/9/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3886.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/9/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 55264}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/9", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3887.0>, params: %{}, path_info: ["sources", "1", "media", "9", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1/media/9"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/media/9/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWGWjRLDHU3dckAAB9S"} ], 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.3886.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/9/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 55264}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/9", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/9/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3886.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/9/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 55264}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/9", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3887.0>, params: %{}, path_info: ["sources", "1", "media", "9", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_co (truncated) 17:56:00.747 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:56:05.424 [info] {"source":"oban","duration":18086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:35.450 [info] {"source":"oban","duration":16354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:56.087 [info] GET /sources/1/media/7/force_download 17:56:56.101 [debug] QUERY OK source="settings" db=2.7ms queue=1.1ms idle=988.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:56:56.105 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=985.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:56:56.107 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:56:56.110 [error] #PID<0.3894.0> running PinchflatWeb.Endpoint (connection #PID<0.3893.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/media/7/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/1/media/7/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3893.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/7/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 45488}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/7", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3894.0>, params: %{}, path_info: ["sources", "1", "media", "7", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1/media/7"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/media/7/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWGaZRoCsNzTy4AAB5h"} ], 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.3893.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/7/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 45488}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/7", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/7/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3893.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/7/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 45488}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/7", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3894.0>, params: %{}, path_info: ["sources", "1", "media", "7", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_co (truncated) 17:57:00.764 [info] {"source":"oban","duration":4714,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:57:05.466 [info] {"source":"oban","duration":12203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:35.481 [info] {"source":"oban","duration":10154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:58.355 [info] GET /sources/1/media/8/force_download 17:57:58.373 [debug] QUERY OK source="settings" db=6.6ms queue=1.8ms idle=830.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:57:58.379 [debug] QUERY OK source="settings" db=2.1ms queue=0.5ms idle=799.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:57:58.382 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:57:58.385 [error] #PID<0.3900.0> running PinchflatWeb.Endpoint (connection #PID<0.3899.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/media/8/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/1/media/8/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3899.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/8/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37398}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/8", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3900.0>, params: %{}, path_info: ["sources", "1", "media", "8", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1/media/8"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/media/8/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWGeBPVRlZM2jsAAB-y"} ], 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.3899.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/8/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37398}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/8", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/8/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3899.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/8/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 37398}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/8", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3900.0>, params: %{}, path_info: ["sources", "1", "media", "8", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_co (truncated) 17:58:00.778 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:58:05.512 [info] {"source":"oban","duration":18645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:35.519 [info] {"source":"oban","duration":2803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.788 [info] {"source":"oban","duration":3699,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:59:05.166 [info] GET /sources/1/media/5/force_download 17:59:05.174 [debug] QUERY OK source="settings" db=2.0ms queue=0.3ms idle=411.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:59:05.176 [debug] QUERY OK source="settings" db=0.8ms idle=168.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:59:05.177 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:59:05.178 [error] #PID<0.3909.0> running PinchflatWeb.Endpoint (connection #PID<0.3908.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/media/5/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/1/media/5/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3908.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/5/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 46756}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/5", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3909.0>, params: %{}, path_info: ["sources", "1", "media", "5", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1/media/5"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/media/5/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWGh6IcWEWVCXgAAB6B"} ], 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.3908.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/5/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 46756}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/5", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/5/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3908.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/5/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 46756}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/5", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3909.0>, params: %{}, path_info: ["sources", "1", "media", "5", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_co (truncated) 17:59:05.538 [info] {"source":"oban","duration":8296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:35.561 [info] {"source":"oban","duration":12128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.799 [info] {"source":"oban","duration":5110,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:00:05.586 [info] {"source":"oban","duration":18265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:06.775 [info] GET /sources/1/media/6/force_download 18:00:06.787 [debug] QUERY OK source="settings" db=2.8ms queue=0.8ms idle=1197.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:00:06.789 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=392.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:00:06.790 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:00:06.791 [error] #PID<0.3915.0> running PinchflatWeb.Endpoint (connection #PID<0.3914.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/media/6/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/1/media/6/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3914.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 60198}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/6", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3915.0>, params: %{}, path_info: ["sources", "1", "media", "6", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1/media/6"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/media/6/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWGlfo_wzaXtlYAAB6h"} ], 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.3914.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 60198}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/6", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/6/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3914.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 60198}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/6", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3915.0>, params: %{}, path_info: ["sources", "1", "media", "6", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_co (truncated) 18:00:35.603 [info] {"source":"oban","duration":9611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.811 [info] {"source":"oban","duration":4493,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:01:05.625 [info] {"source":"oban","duration":18500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:08.529 [info] GET /sources/1/media/2/force_download 18:01:08.541 [debug] QUERY OK source="settings" db=4.9ms queue=0.6ms idle=1360.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:01:08.547 [debug] QUERY OK source="settings" db=2.8ms queue=0.4ms idle=874.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:01:08.548 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:01:08.549 [error] #PID<0.3922.0> running PinchflatWeb.Endpoint (connection #PID<0.3921.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /sources/1/media/2/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/1/media/2/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3921.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/2/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 59330}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3922.0>, params: %{}, path_info: ["sources", "1", "media", "2", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "upgrade"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.cmagtv.top"}, {"referer", "https://pinchflat.cmagtv.top/sources/1/media/2"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "165646951"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/sources/1/media/2/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWGpFsXHuBLZQEAAB6x"} ], 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.3921.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/2/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 59330}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/2/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3921.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/2/force_download", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 59330}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "upgrade", "from" => "gptbot(at)openai.com", "host" => "pinchflat.cmagtv.top", "referer" => "https://pinchflat.cmagtv.top/sources/1/media/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-openai-host-hash" => "165646951", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.3922.0>, params: %{}, path_info: ["sources", "1", "media", "2", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_co (truncated) 18:01:35.652 [info] {"source":"oban","duration":18169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.820 [info] {"source":"oban","duration":3983,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:02:05.671 [info] {"source":"oban","duration":8331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:35.686 [info] {"source":"oban","duration":10742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.823 [info] {"source":"oban","duration":1233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:03:05.713 [info] {"source":"oban","duration":17358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:35.731 [info] {"source":"oban","duration":13486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.837 [info] {"source":"oban","duration":3390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:04:05.753 [info] {"source":"oban","duration":18397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:25.130 [info] GET / 18:04:25.132 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:04:25.139 [debug] QUERY OK source="settings" db=2.1ms queue=0.4ms idle=1350.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:25.145 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.8ms idle=386.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:04:25.146 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=368.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:04:25.147 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=368.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:04:25.148 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=370.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:04:25.153 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=14.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:25.155 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:25.160 [debug] QUERY OK source="settings" db=0.2ms idle=14.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:25.165 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=16.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:04:25.168 [debug] QUERY OK source="media_items" db=0.4ms idle=19.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:04:25.170 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=16.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:04:25.173 [debug] QUERY OK source="media_items" db=1.2ms idle=16.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:04:25.177 [debug] QUERY OK source="media_items" db=2.9ms idle=13.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:04:25.181 [info] Sent 200 in 50ms 18:04:35.767 [info] {"source":"oban","duration":8683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.843 [info] {"source":"oban","duration":2180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:05:05.786 [info] {"source":"oban","duration":7252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:35.801 [info] {"source":"oban","duration":3231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.854 [info] {"source":"oban","duration":2151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:06:05.824 [info] {"source":"oban","duration":13276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:35.853 [info] {"source":"oban","duration":16121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.869 [info] {"source":"oban","duration":2494,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:07:05.868 [info] {"source":"oban","duration":9844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:35.900 [info] {"source":"oban","duration":23504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.874 [info] {"source":"oban","duration":2928,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:08:05.918 [info] {"source":"oban","duration":14726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:35.929 [info] {"source":"oban","duration":7802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.890 [info] {"source":"oban","duration":3965,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:09:05.937 [info] {"source":"oban","duration":1978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:35.953 [info] {"source":"oban","duration":12061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.899 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:10:05.964 [info] {"source":"oban","duration":2872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:35.970 [info] {"source":"oban","duration":4816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.907 [info] {"source":"oban","duration":3042,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:11:06.001 [info] {"source":"oban","duration":20827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:36.021 [info] {"source":"oban","duration":16384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.917 [info] {"source":"oban","duration":5363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:12:06.026 [info] {"source":"oban","duration":2372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:36.041 [info] {"source":"oban","duration":11121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.923 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:13:06.061 [info] {"source":"oban","duration":14179,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:36.090 [info] {"source":"oban","duration":16595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.940 [info] {"source":"oban","duration":5683,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:14:06.124 [info] {"source":"oban","duration":20635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:36.140 [info] {"source":"oban","duration":11020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.950 [info] {"source":"oban","duration":2748,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:15:06.154 [info] {"source":"oban","duration":10097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:36.173 [info] {"source":"oban","duration":15131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.970 [info] {"source":"oban","duration":6101,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:16:06.193 [info] {"source":"oban","duration":11624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:36.215 [info] {"source":"oban","duration":12862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.985 [info] {"source":"oban","duration":4653,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:17:06.227 [info] {"source":"oban","duration":6441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:36.257 [info] {"source":"oban","duration":18026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.994 [info] {"source":"oban","duration":2490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:18:06.278 [info] {"source":"oban","duration":14077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:36.305 [info] {"source":"oban","duration":17927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:01.012 [info] {"source":"oban","duration":4604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:19:06.313 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:36.326 [info] {"source":"oban","duration":8070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.024 [info] {"source":"oban","duration":5365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:20:06.351 [info] {"source":"oban","duration":19647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:36.365 [info] {"source":"oban","duration":9840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.035 [info] {"source":"oban","duration":6023,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:21:06.390 [info] {"source":"oban","duration":15576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:36.395 [info] {"source":"oban","duration":2622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.041 [info] {"source":"oban","duration":1205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:22:06.411 [info] {"source":"oban","duration":9937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:36.434 [info] {"source":"oban","duration":18876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.045 [info] {"source":"oban","duration":2163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:23:06.446 [info] {"source":"oban","duration":9305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:36.466 [info] {"source":"oban","duration":15920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.052 [info] {"source":"oban","duration":4503,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:24:06.472 [info] {"source":"oban","duration":2924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:36.492 [info] {"source":"oban","duration":9885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.057 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:25:06.520 [info] {"source":"oban","duration":16759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:36.535 [info] {"source":"oban","duration":10709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.066 [info] {"source":"oban","duration":1922,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:26:06.563 [info] {"source":"oban","duration":22055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:36.579 [info] {"source":"oban","duration":14205,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.070 [info] {"source":"oban","duration":1065,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:27:06.592 [info] {"source":"oban","duration":8451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:36.601 [info] {"source":"oban","duration":6182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.089 [info] {"source":"oban","duration":4811,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:06.627 [info] {"source":"oban","duration":18850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:36.648 [info] {"source":"oban","duration":14615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.098 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:06.666 [info] {"source":"oban","duration":6054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:36.687 [info] {"source":"oban","duration":13553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.102 [info] {"source":"oban","duration":2233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:06.694 [info] {"source":"oban","duration":4693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:36.716 [info] {"source":"oban","duration":14407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.117 [info] {"source":"oban","duration":3099,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:06.723 [info] {"source":"oban","duration":3790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:36.743 [info] {"source":"oban","duration":11227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.131 [info] {"source":"oban","duration":3746,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:06.766 [info] {"source":"oban","duration":10506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:36.778 [info] {"source":"oban","duration":6213,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.148 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:06.804 [info] {"source":"oban","duration":16366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:36.822 [info] {"source":"oban","duration":14876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.155 [info] {"source":"oban","duration":990,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:06.832 [info] {"source":"oban","duration":7864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:36.846 [info] {"source":"oban","duration":9792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.161 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:06.868 [info] {"source":"oban","duration":14021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:36.889 [info] {"source":"oban","duration":15429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.167 [info] {"source":"oban","duration":1967,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:36:06.908 [info] {"source":"oban","duration":14260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:36.928 [info] {"source":"oban","duration":11925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.180 [info] {"source":"oban","duration":4054,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:37:06.949 [info] {"source":"oban","duration":13246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:36.978 [info] {"source":"oban","duration":22155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.191 [info] {"source":"oban","duration":3311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:38:07.007 [info] {"source":"oban","duration":17411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:37.030 [info] {"source":"oban","duration":18085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.201 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:39:07.054 [info] {"source":"oban","duration":13311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:37.061 [info] {"source":"oban","duration":4416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.204 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:40:07.084 [info] {"source":"oban","duration":14052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:37.118 [info] {"source":"oban","duration":20558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:41.137 [info] GET / 18:40:41.139 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:40:41.145 [debug] QUERY OK source="settings" db=2.4ms queue=0.3ms idle=953.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:41.149 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.3ms idle=798.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:40:41.150 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=785.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:40:41.151 [debug] QUERY OK source="media_items" db=0.4ms idle=785.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:40:41.152 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=783.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:40:41.157 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:41.158 [debug] QUERY OK source="settings" db=0.3ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:41.160 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:40:41.169 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=16.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:40:41.173 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=20.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:40:41.175 [debug] QUERY OK source="media_items" db=1.3ms idle=16.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:41.179 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=19.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:40:41.182 [debug] QUERY OK source="media_items" db=2.2ms idle=19.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:41.186 [info] Sent 200 in 49ms 18:40:42.505 [info] GET /js/twint_ch.js 18:40:42.512 [debug] QUERY OK source="settings" db=1.4ms queue=0.3ms idle=320.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:42.516 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=123.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:42.520 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:40:42.522 [error] #PID<0.4106.0> running PinchflatWeb.Endpoint (connection #PID<0.4105.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /js/twint_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38520}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4106.0>, params: %{}, path_info: ["js", "twint_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/js/twint_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWIzRck2KQv2EoAACVC"} ], 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.4105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38520}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38520}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4106.0>, params: %{}, path_info: ["js", "twint_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, qu (truncated) 18:40:43.227 [info] GET /assets/js/message.js 18:40:43.236 [debug] QUERY OK source="settings" db=2.8ms queue=0.7ms idle=816.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:43.241 [debug] QUERY OK source="settings" db=1.3ms queue=0.4ms idle=822.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:43.243 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:40:43.246 [error] #PID<0.4110.0> running PinchflatWeb.Endpoint (connection #PID<0.4109.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /assets/js/message.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4109.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38538}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4110.0>, params: %{}, path_info: ["assets", "js", "message"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/assets/js/message.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWIzUIib1NHi2YAACVS"} ], 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.4109.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38538}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4109.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38538}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4110.0>, params: %{}, path_info: ["assets", "js", "message"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {" (truncated) 18:40:43.747 [info] GET /static/style/sys_files/index.js 18:40:43.751 [debug] QUERY OK source="settings" db=1.4ms queue=0.2ms idle=509.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:43.756 [debug] QUERY OK source="settings" db=2.8ms queue=0.5ms idle=335.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:43.758 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:40:43.760 [error] #PID<0.4112.0> running PinchflatWeb.Endpoint (connection #PID<0.4111.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /static/style/sys_files/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38542}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4112.0>, params: %{}, path_info: ["static", "style", "sys_files", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/static/style/sys_files/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWIzWEpyD2V7d0AACVi"} ], 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.4111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38542}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38542}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4112.0>, params: %{}, path_info: ["static", "style", "sys_files", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.c (truncated) 18:40:45.180 [info] GET /js/lkk_ch.js 18:40:45.195 [debug] QUERY OK source="settings" db=3.6ms queue=0.9ms idle=1431.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:45.204 [debug] QUERY OK source="settings" db=1.3ms queue=2.9ms idle=765.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:45.204 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:40:45.205 [error] #PID<0.4118.0> running PinchflatWeb.Endpoint (connection #PID<0.4117.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /js/lkk_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38570}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4118.0>, params: %{}, path_info: ["js", "lkk_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/js/lkk_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWIzbaOw-0AawsAACVy"} ], 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.4117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38570}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38570}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4118.0>, params: %{}, path_info: ["js", "lkk_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 18:40:45.849 [info] GET /assets/js/qr_modal.js 18:40:45.857 [debug] QUERY OK source="settings" db=2.3ms queue=0.5ms idle=649.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:45.860 [debug] QUERY OK source="settings" db=1.8ms queue=0.2ms idle=392.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:45.861 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:40:45.863 [error] #PID<0.4122.0> running PinchflatWeb.Endpoint (connection #PID<0.4121.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /assets/js/qr_modal.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/qr_modal (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4121.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38574}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4122.0>, params: %{}, path_info: ["assets", "js", "qr_modal"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/assets/js/qr_modal.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWIzd50Sq1I_MwAACWC"} ], 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.4121.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38574}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/qr_modal (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4121.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38574}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4122.0>, params: %{}, path_info: ["assets", "js", "qr_modal"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_log (truncated) 18:40:46.508 [info] GET /assets/js/auth.js 18:40:46.510 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=648.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:46.511 [debug] QUERY OK source="settings" db=1.0ms idle=22.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:46.512 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:40:46.513 [error] #PID<0.4126.0> running PinchflatWeb.Endpoint (connection #PID<0.4125.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /assets/js/auth.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38588}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4126.0>, params: %{}, path_info: ["assets", "js", "auth"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/assets/js/auth.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWIzgW--6lFv48AACWS"} ], 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.4125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38588}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38588}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4126.0>, params: %{}, path_info: ["assets", "js", "auth"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_l (truncated) 18:40:46.900 [info] GET /bot-connect.js 18:40:46.910 [debug] QUERY OK source="settings" db=2.6ms queue=1.0ms idle=401.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:46.918 [debug] QUERY OK source="settings" db=5.3ms queue=0.5ms idle=406.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:46.919 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:40:46.922 [error] #PID<0.4128.0> running PinchflatWeb.Endpoint (connection #PID<0.4127.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /bot-connect.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4127.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38598}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4128.0>, params: %{}, path_info: ["bot-connect"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/bot-connect.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWIzh0QrRY-NKYAACWi"} ], 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.4127.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38598}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4127.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38598}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4128.0>, params: %{}, path_info: ["bot-connect"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_pa (truncated) 18:40:47.266 [info] GET /css/support_parent.css 18:40:47.276 [debug] QUERY OK source="settings" db=1.5ms queue=0.8ms idle=766.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:47.279 [debug] QUERY OK source="settings" db=1.2ms queue=0.4ms idle=767.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:47.280 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:40:47.281 [error] #PID<0.4130.0> running PinchflatWeb.Endpoint (connection #PID<0.4129.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /css/support_parent.css ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4129.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38614}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4130.0>, params: %{}, path_info: ["css", "support_parent"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/css/support_parent.css", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWIzjLnEA5BH3gAACWy"} ], 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.4129.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38614}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4129.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38614}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4130.0>, params: %{}, path_info: ["css", "support_parent"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logg (truncated) 18:40:47.605 [info] GET /static/style/protect/index.js 18:40:47.612 [debug] QUERY OK source="settings" db=1.6ms queue=0.3ms idle=330.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:47.615 [debug] QUERY OK source="settings" db=1.3ms queue=0.5ms idle=104.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:47.617 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:40:47.619 [error] #PID<0.4132.0> running PinchflatWeb.Endpoint (connection #PID<0.4131.0>, stream id 1) terminated Server: pinchflat.cmagtv.top:80 (http) Request: GET /static/style/protect/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4131.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38620}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4132.0>, params: %{}, path_info: ["static", "style", "protect", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 7}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"connection", "upgrade"}, {"host", "pinchflat.cmagtv.top"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"x-forwarded-for", "172.18.0.1"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "172.18.0.1"} ], request_path: "/static/style/protect/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKWIzkcgzmx81lYAACXC"} ], 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.4131.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38620}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4131.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.cmagtv.top", peer: {{172, 18, 0, 7}, 38620}, bindings: %{}, sock: {{172, 18, 0, 9}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "connection" => "upgrade", "host" => "pinchflat.cmagtv.top", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "x-forwarded-for" => "172.18.0.1", "x-forwarded-proto" => "https", "x-real-ip" => "172.18.0.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.cmagtv.top", method: "GET", owner: #PID<0.4132.0>, params: %{}, path_info: ["static", "style", "protect", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.cmagtv.top", (truncated) 18:41:00.210 [info] {"source":"oban","duration":1170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:41:07.140 [info] {"source":"oban","duration":15961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:37.163 [info] {"source":"oban","duration":14817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.213 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:42:07.189 [info] {"source":"oban","duration":16027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:37.208 [info] {"source":"oban","duration":10554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.221 [info] {"source":"oban","duration":4791,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:43:07.231 [info] {"source":"oban","duration":16505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:37.249 [info] {"source":"oban","duration":8633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.233 [info] {"source":"oban","duration":2507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:44:07.265 [info] {"source":"oban","duration":7203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:37.289 [info] {"source":"oban","duration":15463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.253 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:45:07.306 [info] {"source":"oban","duration":12785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:37.327 [info] {"source":"oban","duration":18031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.269 [info] {"source":"oban","duration":5732,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:46:07.347 [info] {"source":"oban","duration":12112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:37.351 [info] {"source":"oban","duration":2248,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.289 [info] {"source":"oban","duration":6714,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:47:07.369 [info] {"source":"oban","duration":14818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:37.390 [info] {"source":"oban","duration":15325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:53.855 [info] GET /media_profiles/1/edit 18:47:53.857 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:47:53.865 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.5ms idle=1894.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 18:47:53.871 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=911.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:53.872 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=903.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:53.875 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=905.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:53.890 [info] Sent 200 in 35ms 18:48:00.303 [info] {"source":"oban","duration":4526,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:48:07.414 [info] {"source":"oban","duration":9980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:37.427 [info] {"source":"oban","duration":9810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:50.523 [info] GET /sources/1 18:48:50.526 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:48:50.533 [debug] QUERY OK source="sources" db=3.5ms queue=0.4ms idle=1180.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:50.536 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=202.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:50.564 [debug] QUERY OK source="tasks" db=26.1ms queue=0.1ms idle=187.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 18:48:50.566 [debug] QUERY OK source="oban_jobs" db=0.7ms queue=0.1ms idle=212.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 (?,?,?)) [51, 27, 4] 18:48:50.570 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=215.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:50.571 [debug] QUERY OK source="settings" db=0.9ms idle=38.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:50.574 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=36.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:50.580 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=15.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:50.583 [debug] QUERY OK source="media_items" db=2.2ms idle=15.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")))) [1] 18:48:50.586 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=13.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 18:48:50.590 [debug] QUERY OK source="sources" db=0.4ms idle=18.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:50.591 [debug] QUERY OK source="media_items" db=0.3ms idle=16.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 18:48:50.592 [debug] QUERY OK source="media_items" db=0.8ms idle=11.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 18:48:50.594 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [1] 18:48:50.597 [debug] QUERY OK source="media_items" db=2.3ms idle=8.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 18:48:50.600 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=7.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 ? [1, 10, 0] 18:48:50.608 [info] Sent 200 in 85ms 18:49:00.310 [info] {"source":"oban","duration":3263,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:49:07.436 [info] {"source":"oban","duration":3251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:27.737 [info] GET /sources/new 18:49:27.740 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 18:49:27.751 [debug] QUERY OK source="media_profiles" db=5.0ms queue=1.0ms idle=691.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 18:49:27.755 [debug] QUERY OK source="settings" db=1.8ms queue=0.4ms idle=655.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:27.763 [debug] QUERY OK source="settings" db=1.5ms queue=0.2ms idle=646.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:27.766 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=648.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:27.770 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=652.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:27.775 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=23.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:27.793 [info] Sent 200 in 55ms 18:49:37.456 [info] {"source":"oban","duration":14361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.326 [info] {"source":"oban","duration":1603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:50:07.481 [info] {"source":"oban","duration":16958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:37.505 [info] {"source":"oban","duration":17181,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.335 [info] {"source":"oban","duration":2871,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:51:01.371 [info] GET /sources/opml.xml 18:51:01.377 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "c7fd7ce2-f097-461c-bc11-9396cca77409"} Pipelines: [:maybe_basic_auth, :token_protected_route] 18:51:01.379 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1044.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:01.383 [debug] QUERY OK source="sources" db=0.9ms queue=0.4ms idle=206.8ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 18:51:01.387 [info] Sent 200 in 15ms 18:51:07.520 [info] {"source":"oban","duration":11019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:28.325 [info] GET /media_profiles/new 18:51:28.327 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 18:51:28.337 [debug] QUERY OK source="settings" db=5.2ms queue=0.6ms idle=925.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:28.342 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=593.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:28.342 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=577.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:28.345 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=578.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:28.347 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=580.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:28.356 [info] Sent 200 in 31ms 18:51:28.720 [info] GET /media_profiles/1 18:51:28.723 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:51:28.730 [debug] QUERY OK source="media_profiles" db=3.2ms queue=0.6ms idle=388.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 18:51:28.735 [debug] QUERY OK source="sources" db=3.0ms queue=0.4ms idle=389.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 18:51:28.737 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=393.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:28.738 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:51:28.740 [debug] QUERY OK source="settings" db=0.7ms idle=392.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:28.746 [info] Sent 200 in 26ms 18:51:37.536 [info] {"source":"oban","duration":13243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.347 [info] {"source":"oban","duration":3476,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:52:07.561 [info] {"source":"oban","duration":18442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:37.574 [info] {"source":"oban","duration":7972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.362 [info] {"source":"oban","duration":4333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:53:07.599 [info] {"source":"oban","duration":17721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0}